//选择不包含class属性的节点 var result = node.SelectNodes(".//span[not(@class)]"); //选择不包含class和id属性的节点 var result = node.SelectNodes(".//span[not(@class) and not(@id)]"); //选择不包含class="expire"的span var result = node.SelectNodes(".//span[not(contains(@class,'expire'))]"); //选择包含class="expire"的span var result = node.SelectNodes(".//span[contains(@class,'expire')]");
另一种解析方式,假如我们需要根据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"));
提取得到节点数据之后,根据实际处理即可。
作者:黄聪
出处:http://www.cnblogs.com/huangcong/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
出处:http://www.cnblogs.com/huangcong/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。