• 技术文章 >web前端 >html教程

    HTML解析组件HtmlAgilityPack使用方法介绍

    高洛峰高洛峰2017-03-20 16:55:53原创1402
    HtmlAgilityPack是一个开源的解析HTML元素类库,最大的特点是可以通过XPath来解析HMTL,如果您以前用C#操作过XML,那么使用起HtmlAgilityPack也会得心应手。目前最新版本为1.4.6,下载地址如下:

    http://htmlagilitypack.codeplex.com/

    下面以一个简单的例子来介绍下HtmlAgilityPack的使用,对于Asp.Net程序开发的网站要做模拟登录的时候,除了要知道用户名文本框和密码文本框的name属性值外,还需要知道页面的VIEWSTATE、EVENTVALIDATION这两个隐藏控件的值,以及提交按钮的name属性,下面看看怎样使用HtmlAgilityPack来获得这个额外的值。

    1、在项目中添加对HtmlAgilityPack.dll的引用

    HTML解析组件HtmlAgilityPack使用方法介绍

    2、在Aspx页面中放几个文本框控件和一个按钮控件

    HTML解析组件HtmlAgilityPack使用方法介绍

    3、按钮的后台事件如下

    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;
                }
            }

    4、以博客园的登录界面为例,获取后的界面如下

    HTML解析组件HtmlAgilityPack使用方法介绍


    以上就是HTML解析组件HtmlAgilityPack使用方法介绍的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:HTML
    上一篇:HTML元素的ID和Name属性的区别详细介绍 下一篇:HTML标签marquee实现滚动效果实例代码
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• 浏览器得到地址栏的相关信息_html/css_WEB-ITnose• Div+CSS布局入门教程(1)页面布局与规划_html/css_WEB-ITnose• 面向对象_原型的重写• AngularJS在IE8的支持_html/css_WEB-ITnose• 第 9 章 音频和视频_html/css_WEB-ITnose
    1/1

    PHP中文网