zoukankan      html  css  js  c++  java
  • 黄聪: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"));

    提取得到节点数据之后,根据实际处理即可。

  • 相关阅读:
    Codeforces Round #358 (Div. 2)
    Codeforces Round #357 (Div. 2)
    Codeforces Round #356 (Div. 2)
    第11章例题(紫书)
    第10章例题(紫书)
    Codeforces Round #354 (Div. 2)
    2016百度之星
    BestCoder 1st Anniversary
    BestCoder Round #41
    BestCoder Round #40
  • 原文地址:https://www.cnblogs.com/huangcong/p/6083373.html
Copyright © 2011-2022 走看看