Linq To XML:获得该结点的所有祖先结点,也可以说父结点吧

输出

注意这个方法

foreach (XElement element in firstParticipant.

Element("FirstName").Element("NickName").Ancestors())

打印出的顺序是由里层父结点向外层父结点

如果打印结果要包含自身结点那么就这么写

foreach (XElement element in firstParticipant.

Element("FirstName").Element("NickName").AncestorsAndSelf())

{

Console.WriteLine(element.Name);

}

打印结果是这样

NickName

FirstName

BookParticipant

BookParticipants

那么以上递归父结点的方法都是由里层向外层显示,还有个方法是把递归顺序倒过来

把上面那个循环的代码改成这样

foreach (XElement element in firstParticipant.Descendants())

那么打印结果就是从外层到里层显示

FirstName

NickName

LastName

相应的,它也有打印息自身的方法,命名差不多,也是XXXXSelf

foreach (XElement element in firstParticipant.DescendantsAndSelf())


打印结果

BookParticipant

FirstName

NickName

LastName

你可能感兴趣的:(LINQ)