Elements仅查找那些
直接 后代的元素,即直系子代。
Descendants
查找任何级别的孩子,例如,孩子,孙子等等。
这是一个展示差异的示例:
<?xml version="1.0" encoding="utf-8" ?><foo> <bar>Test 1</bar> <baz> <bar>Test 2</bar> </baz> <bar>Test 3</bar></foo>
码:
Xdocument doc = Xdocument.Load("input.xml");XElement root = doc.Root;foreach (XElement e in root.Elements("bar")){ Console.WriteLine("Elements : " + e.Value);}foreach (XElement e in root.Descendants("bar")){ Console.WriteLine("Descendants : " + e.Value);}结果:
元素:测试1元素:测试3后裔:测试1后裔:测试2后裔:测试3
如果您知道所需的元素是直接子元素,那么如果使用
Elements而不是,则会获得更好的性能
Descendants。



