确定一个节点是否存在于HTMLAgiltyPack

问题描述:

我想运行foreach循环的HtmlNode已经从网络上通过HtmlWeb类和loadFromWebAsync方法解析。在运行循环之前,我想确保节点存在于HtmlDocument中。如何在没有帮助Xpath查询的情况下检查此问题,因为Windows RTWindows 8.1版本中的许多版本不适用于此操作。确定一个节点是否存在于HTMLAgiltyPack

您可以使用LINQ .Any()的方法来检查,如果序列中包含的任何元素,例如:

var doc = new HtmlDocument(); 
..... 
var isDivExist = doc.DocumentNode 
        .Descendants("div") 
        .Any(); 

还是要检查序列中的任何节点满足特定条件:

var isDivWithSpecificClassExist = doc.DocumentNode 
            .Descendants("div") 
            .Any(d => .GetAttributeValue("class", "") == "foo");