使用Linq查询XElement - 深入了解XElement

Bri*_*ard 2 .net c# linq xpath linq-to-xml

我有一个XML文档,如下所示:

<root>
  <level1>
    <level2>
      <level3>
       .....
      </level3>
      <level3>
       .....
      </level3>

    </level2>
  </level1>
</root>
Run Code Online (Sandbox Code Playgroud)

我想选择所有level3元素,XPath我会这样做,root/level1/level2/level3但我如何使用LINQ

Ale*_*Aza 6

var elements = document.Descendants("level3").ToList();
Run Code Online (Sandbox Code Playgroud)

或者如果你需要遵循确切的路径

var elements = document.Element("root").Element("level1").Element("level2").Elements("level3").ToList();
Run Code Online (Sandbox Code Playgroud)

或XPath,但仍然会 XDocument

var elements = document.XPathSelectElements("root/level1/level2/level3").ToList();
Run Code Online (Sandbox Code Playgroud)