如何使用AngleSharp选择节点和父节点?

时间:2015-12-18 18:17:52

标签: c# css-selectors anglesharp

使用HtmlAgilityPack,我这样做

var elements= HAPdoc.DocumentNode.SelectSingleNode(XPathSelector).AncestorsAndSelf()

关于如何使用AngleSharp和CSS选择器做任何想法?

var elements = AngleSharpDoc.QuerySelectorAll("Some CSS selector ?");

1 个答案:

答案 0 :(得分:2)

首先,您使用SelectSingleNodeQuerySelectorAll。前者选择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>();