C# HTML解析工具HtmlAgilityPack XPath 模糊查询not()函数和contains()函数
来源:互联网 发布:取消映射网络驱动器 编辑:程序博客网 时间:2024/05/22 10:59
如果想使用Xpath过滤属性中含有或不含有等逻辑判断,需要以下两个函数
Xpath 的not()函数 不含后指定属性等
contains() 属性中含有指定字符串的过滤
实例说明1
//选择不包含class属性的节点var result = node.SelectNodes(".//span[not(@class)]");//选择不包含class和id属性的节点var result = node.SelectNodes(".//span[not(@class) and not(@id)]");//选择不包含class="expire"的spanvar result = node.SelectNodes(".//span[not(contains(@class,'expire'))]");//选择包含class="expire"的spanvar result = node.SelectNodes(".//span[contains(@class,'expire')]");实例2:去除指定属性和值的节点
//获取列表,去除class=all和class=tableRule 的tr节点 HtmlNodeCollection col = main.SelectNodes("//tr[not(contains(@class,'all')) and not(contains(@class,'tableRule'))]");
实例3:查找指定属性含有字符串的节点
HtmlNode name = node.SelectSingleNode("//td[contains(@class,'sName')]");
另一种解析方式,假如我们需要根据div的class属性是否包含post值来提取div中的InnerText:
<div id="post-405" class="post-405 post type-post status">inner text</div><div id="post-105" class="post-105 post type-post status">inner text</div><div id="post-5" class="post-5 post type-post status">inner text</div>
可以用以下方法来提取符合条件的所有HtmlNode节点var results = doc.DocumentNode .Descendants("div") .Where(x=>x.Attributes.Contains("class") && x.Attributes["class"].Value.Contains("post"));
提取得到节点数据之后,根据实际处理即可。 0 0
- C# HTML解析工具HtmlAgilityPack XPath 模糊查询not()函数和contains()函数
- C# HTML解析工具HtmlAgilityPack使用简介
- C# HTML解析工具HtmlAgilityPack使用实例(一)
- C# HTML解析利器HtmlAgilityPack
- HtmlAgilityPack和XPath
- C#之HTML解析利器HtmlAgilityPack类库
- 模糊查询和聚合函数
- 模糊查询和聚会函数
- C# HTML解析工具HtmlAgilityPack使用实例(二)--Web页面
- Oracle-contains函数解析
- HTML解析利器HtmlAgilityPack
- HTML解析利器HtmlAgilityPack
- HTML解析利器HtmlAgilityPack
- htmlagilitypack解析Html
- HTML解析利器HtmlAgilityPack
- HTML解析利器HtmlAgilityPack
- HTML解析利器HtmlAgilityPack
- HTML解析利器HtmlAgilityPack
- C++ 函数作用域
- [笔记] Gitlab手术室:LDAP配置好却一直Invalid Credential的解决
- NOIP2013 积木大赛 解题报告(贪心)
- Qt 在VS下使用添加新类后报错LNK2019无法解析的外部符号解决办法
- visual studio 2015怎么下载
- C# HTML解析工具HtmlAgilityPack XPath 模糊查询not()函数和contains()函数
- leetcode-21 Merge Two Sorted Lists
- 代码性能测试
- Codeforces Round #349 (Div. 2) D. World Tour
- 安装 、 使用codeblocks
- Swift学习记录 -- 1.常量与变量
- sublime Text
- linux服务器配置教程
- NLP:实体识别