您好,欢迎访问一九零五行业门户网

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

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的引用
2、在aspx页面中放几个文本框控件和一个按钮控件
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使用方法介绍的详细内容。
其它类似信息

推荐信息