使用HtmlAgilityPack,我这样做
var elements= HAPdoc.DocumentNode.SelectSingleNode(XPathSelector).AncestorsAndSelf()
关于如何使用AngleSharp和CSS选择器做任何想法?
var elements = AngleSharpDoc.QuerySelectorAll("Some CSS selector ?");
答案 0 :(得分:2)
首先,您使用SelectSingleNode
但QuerySelectorAll
。前者选择1(一个!)节点,后者选择n(多个!)节点。因此,只需使用QuerySelector
即可。其次,对于单个节点,AngleSharp在AngleSharp.Extensions
命名空间中为您提供了相当多的扩展。
你会找到
var elements = document.QuerySelector("...").Ancestors();
如果你想要两者(孩子及其父母),我会推荐像
这样的东西var child = document.QuerySelector("...");
var elements = child.Ancestors().ToList();
elements.Insert(child, 0);
祖先列表是INode
的可枚举。如果您只对IElement
个实例感兴趣,也可以使用
var elements = document.QuerySelector("...").Ancestors<IElement>();