2015-12-18 3 views

ответ

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>();