求C# HtmlAgilityPack用法的完整例子。
答案:2 悬赏:30 手机版
解决时间 2021-01-23 07:45
- 提问者网友:刺鸟
- 2021-01-23 03:15
如果能有完整的文件让我能够运行学习最好,要是没有的话,请大牛们帮我给下详细步骤。大牛们帮帮忙吧~~~
最佳答案
- 五星知识达人网友:躲不过心动
- 2021-01-23 04:51
1.HtmlAgilityPack是一个开源的解析HTML元素的类库,最大的特点是可以通过XPath来解析HMTL,如果您以前用C#操作过XML,那么使用起HtmlAgilityPack也会得心应手。
下面以一个简单的例子来介绍下HtmlAgilityPack的使用,对于Asp.Net程序开发的网站要做模拟登录的时候,除了要知道用户名文本框和密码文本框的name属性值外,还需要知道页面的__VIEWSTATE、__EVENTVALIDATION这两个隐藏控件的值,以及提交按钮的name属性,下面看看怎样使用HtmlAgilityPack来获得这个额外的值。
2.例程:
protected void btnHtml_Click(object sender, EventArgs e)
{
if (tbUrl.Text.Length > 0)
{
HtmlWeb htmlWeb = new HtmlWeb();
HtmlDocument htmlDoc = htmlWeb.Load(this.tbUrl.Text);
HtmlNode htmlNode = htmlDoc.DocumentNode.SelectSingleNode("//input[@id='__VIEWSTATE']");
string viewStateValue = htmlNode.Attributes["value"].Value;
htmlNode = htmlDoc.DocumentNode.SelectSingleNode("//input[@id='__EVENTVALIDATION']");
string eventValidation = htmlNode.Attributes["value"].Value;
htmlNode = htmlDoc.DocumentNode.SelectSingleNode("//input[@type='submit']");
string submitName = htmlNode.Attributes["name"].Value;
tbViewState.Text = viewStateValue;
tbEventValidation.Text = eventValidation;
tbSubmitName.Text = submitName;
}
}
下面以一个简单的例子来介绍下HtmlAgilityPack的使用,对于Asp.Net程序开发的网站要做模拟登录的时候,除了要知道用户名文本框和密码文本框的name属性值外,还需要知道页面的__VIEWSTATE、__EVENTVALIDATION这两个隐藏控件的值,以及提交按钮的name属性,下面看看怎样使用HtmlAgilityPack来获得这个额外的值。
2.例程:
protected void btnHtml_Click(object sender, EventArgs e)
{
if (tbUrl.Text.Length > 0)
{
HtmlWeb htmlWeb = new HtmlWeb();
HtmlDocument htmlDoc = htmlWeb.Load(this.tbUrl.Text);
HtmlNode htmlNode = htmlDoc.DocumentNode.SelectSingleNode("//input[@id='__VIEWSTATE']");
string viewStateValue = htmlNode.Attributes["value"].Value;
htmlNode = htmlDoc.DocumentNode.SelectSingleNode("//input[@id='__EVENTVALIDATION']");
string eventValidation = htmlNode.Attributes["value"].Value;
htmlNode = htmlDoc.DocumentNode.SelectSingleNode("//input[@type='submit']");
string submitName = htmlNode.Attributes["name"].Value;
tbViewState.Text = viewStateValue;
tbEventValidation.Text = eventValidation;
tbSubmitName.Text = submitName;
}
}
全部回答
- 1楼网友:野味小生
- 2021-01-23 06:07
public void English()
{
Console.WriteLine("hello,sir");
}
public void Chinaese()
{
Console.WriteLine("你好,先生");
}
public enum Lanaguage
{
Chinaese,English
}
public void Make(Language lan)
{
switch(lan)
{
case Language.English:
English();
break;
case Language.Chinaese:
Chinaese();
break;
}
}
static void Main(string[] args)
{
Make(Language.Chinaese);
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯