.net 一个可以像操作XML一样操作HTML的文档的类库 HtmlAgilityPack
Posted aofengdaxia
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.net 一个可以像操作XML一样操作HTML的文档的类库 HtmlAgilityPack相关的知识,希望对你有一定的参考价值。
在写爬虫的时候,少不了处理html的。一般少不了通过正则表达式,或者SubString的方式把字符串截取。最近发现一个类:HtmlAgilityPack可以像操作XML一样的去操作HTML。
使用方式
使用Nuget直接安装下载。
代码实例
public void Example(string strHtml)
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(strHtml);
//获得一个单独的div
var singleNode = doc.DocumentNode.SelectSingleNode("//div[@class='mp-tickets']");
//获得多个div的Node
var multiNodes = singleNode..SelectNodes("div[@class='mp-tickettype']");
foreach(var node in multiNodes)
//可以执行其他的操作
注意事项
SelectSingleNode 和SelectNodes 统称为Select方法
Select方法的参数可以输入标签名或者标签名带class的如
SelectSingleNode("div");
SelectSingleNode("div[@class='className']");
如果标签以//开头
SelectSingleNode("//div[@class='className']");
则会进行模糊的检索,如果不带//只会匹配一级字标签的内容。在需要精确的搜索的时候,最好精确控制,否则会出错。
更多的操作方式,仍需摸索解锁
以上是关于.net 一个可以像操作XML一样操作HTML的文档的类库 HtmlAgilityPack的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET / HTML - 使用光标时的文本区域光标位置
.net 标准是不是像 .net Core 一样跨平台? [复制]