永发信息网

求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;
            }
        }
全部回答
  • 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); }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯