#c# #linq #linq-to-xml
#c# #linq #linq-to-xml
Вопрос:
Есть ли простой способ выбрать все узлы выше определенного уровня?
или единственным решением было бы удалить дочерние элементы этого элемента?
Ответ №1:
Это рекурсивно возвращает все родительские элементы узла:
public static IEnumerable<XElement> Parents(this XObject obj)
{
XElement e = obj.Parent;
while (e != null)
{
yield return e;
e = e.Parent;
}
}
Если вам нужен документ, содержащий только узел и его родителей, вам нужно удалить все остальные узлы.