Во-первых, вы используете 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>();