我在 VS IntelliSense 中遇到了这两个关键字。我试图用谷歌搜索它们之间的区别,但没有得到明确的答案。其中哪一个对中小型 XML 文件具有最佳性能。谢谢
Elements仅查找那些是 直接 后代的元素,即直接子元素。
Elements
Descendants查找任何级别的孩子,即孩子、孙子等…
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); }
结果:
Elements : Test 1 Elements : Test 3 Descendants : Test 1 Descendants : Test 2 Descendants : Test 3
如果你知道你想要的元素是直接子元素,那么如果你使用Elements而不是Descendants.