黃聰:C#中HtmlAgilityPack判斷是否包含或不包含指定的屬性或值


//選擇不包含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"));

 

提取得到節點數據之后,根據實際處理即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM