HtmlAgilityPack - 选择多个节点

html-agility-pack linq windows-phone-8.1

由于没有正式发布的windows phone 8.1 or WinRTHtmlAgilityPack ,手动引用dll不允许调用SelectNodes()函数,我可以在其中传递XPATH作为参数。

我正在寻找类似的Linq查询,我可以根据节点的类名选择多个节点。用简单的英语我想保存在所有节点HtmlNodeCollection在该节点开头divclass是的div是XXX。

一般承认的答案

从你的句子翻译成HtmlAgilityPack的LINQ表达式:

var result = doc.DocumentNode
                .Descendants()
                .Where(o => o.Name.StartsWith("div") 
                                && 
                            o.GetAttributeValue("class", "") == "XXX");

或者只是提到您只对<div>节点感兴趣:

var result = doc.DocumentNode
                .Descendants("div")
                .Where(o => o.GetAttributeValue("class", "") == "XXX");

上面返回IEnumerable<HtmlNode>而不是HtmlNodeCollection ,但这并不重要恕我直言。




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