下载站

展开
精品推荐
HtmlAgilityPack

HtmlAgilityPack

文本编辑大小:628.70MB语言: / 类别:应用软件系统: / Win7, win8 提供:
应用介绍

HtmlAgilityPack是一个开源的解析HTML元素的类库,支持中文的HtmlAgilityPack.dll,最大的特点是可以通过XPath来解析HMTL,如果您以前用C#操作过XML,那么使用起HtmlAgilityPack也会得心应手。HtmlAgilityPack?测试分析小软件,直观明了对于编写XPath非常有用.

HtmlAgilityPack最常用的基础类其实不多,对解析DOM来说,就只有HtmlDocument和HtmlNode这两个常用的类,还有一个HtmlNodeCollection集合类。

asp.net使用HtmlAgilityPack的方法:

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

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

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

C#中使用HtmlAgilityPack对html进行解析

HtmlAgilityPack基本支持.Net2-.Net4.5也支持Sliverlight和WindowsPhone,大家可以根据自己的需求来使用。

引用对应的DLL本文采用.Net4开发所以选择Net40文件夹中的库

打开谷歌浏览器吧鼠标放在你想要获取的元素上,点击鼠标右键-审查元素-CopyXpath

编写代码:

/第一步声明HtmlAgilityPack.HtmlDocument实例

HtmlAgilityPack.HtmlDocumentdoc=newHtmlAgilityPack.HtmlDocument();

//获取Html页面代码

stringhtml=HTMLHelper.Get_Http("https://www.studycsharp.com/");

//第二步加载html文档

doc.LoadHtml(html);

//第三步通过Xpath选中html的指定元素?这样子就获取到了[url=https://www.studycsharp.com]www.studycsharp.com[/url]的"常用工具类"的板块链接了

HtmlAgilityPack.HtmlNodehtmlnode=doc.DocumentNode.SelectSingleNode("//*[@id=\"category_63\"]/table/tr/td/dl/dt/a");

//获取所有板块的a标签

HtmlAgilityPack.HtmlNodeCollectioncollection=doc.DocumentNode.SelectNodes("//*[starts-with(@id,'category_')]/table/tr/td/dl/dt/a");

StringBuildersb=newStringBuilder();

foreach(HtmlAgilityPack.HtmlNodeitemincollection)

{

sb.Append(string.Format("{0}:{1}\r\n",item.InnerText,item.Attributes["href"].Value));

}

this.textBox1.Text=sb.ToString();

代码运行效果

Tags:HtmlAgilityPack,解析HTML.

应用推荐查看更多
热门下载查看更多
精选应用
点击查看更多
专题合集查看更多
热门专题查看更多
友情链接0投诉联系:ichaoinc@gmail.com