确定HTMLAgiltyPack中是否存在节点

html-agility-pack windows-8.1 windows-phone-8.1

我想在HtmlNode运行一个foreach循环,它已经通过HtmlWeb类和loadFromWebAsync方法从Internet解析。在运行循环之前,我想确保HtmlDocument存在该节点。如何在没有帮助Xpath查询的情况下检查,因为许多Windows RTWindows 8.1版本无法使用此功能。

热门答案

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

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

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

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


Related

许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因