C# 使用路径获取Xelement.elements()

C# 使用路径获取Xelement.elements(),c#,xml,linq,C#,Xml,Linq,我有一些这样的xml <Map> <Pr> <Dir .... > <Dir .... > </Pr> </Map> 我提供的路径似乎不正确。正确的格式是什么?我试过“Map”+“Pr”或“//Map/Pr”等 感谢您查看如果您想使用XPath选择元素,Elements方法采用的是元素名称而不是路径 XElement element = parentElement.XPathSelectElem

我有一些这样的xml

 <Map>
  <Pr>
    <Dir .... >
    <Dir .... >
  </Pr>
 </Map>
我提供的路径似乎不正确。正确的格式是什么?我试过“Map”+“Pr”或“//Map/Pr”等

感谢您查看如果您想使用
XPath
选择元素,
Elements
方法采用的是元素名称而不是
路径

XElement element = parentElement.XPathSelectElement("Map/Pr");

如果您想获得所有
Pr
元素,也可以使用
parentElement.subjections(“Pr”)

如果您不想要所有的子体,也可以使用元素(“Map”).elements(“Pr”)。我花了几分钟才意识到这是一种扩展方法,我需要使用System.Xml.XPath导入带有
的XPath命名空间
以访问
XElement
上的
XPathSelectElement
。回想起来,这也许是显而易见的,但也许这对其他人有所帮助。
XElement element = parentElement.XPathSelectElement("Map/Pr");