确定HTMLAgiltyPack中是否存在节点

时间:2014-09-20 06:48:54

标签: windows-8.1 html-agility-pack windows-phone-8.1

我希望在foreach中运行HtmlNode循环,该循环已通过HtmlWeb类和loadFromWebAsync方法从互联网解析。在运行循环之前,我想确保节点存在于HtmlDocument中。如果没有帮助Xpath查询,我该如何检查,因为许多Windows RTWindows 8.1版本都无法使用此功能。

1 个答案:

答案 0 :(得分:0)

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

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

或者检查序列中的任何节点是否满足特定条件:

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