如何使用xPath或其他任何方式获取最后的XML项目?

时间:2017-11-13 23:43:42

标签: c# .net xpath xmldocument

在我注意到我需要最后一个节点的子元素之前,我已经使用了第一个节点PovprecnaPlaca的子元素。

XML图片供参考:

Picture of XML for reference

感谢所有有用的答案!

XML看起来像这样:

<PovprecnaPlaca>
   <Datum>2017-07-01T00:00:00</Datum>
   <BrutoPlacaZadnje3Mesece>1603,00</BrutoPlacaZadnje3Mesece>
   <NetoPlacaZadnje3Mesece>1045,12</NetoPlacaZadnje3Mesece>
   <BrutoPlaca>1593,10</BrutoPlaca>
   <NetoPlaca>1039,55</NetoPlaca>
 </PovprecnaPlaca>
 <PovprecnaPlaca>
   <Datum>2017-08-01T00:00:00</Datum>
   <BrutoPlacaZadnje3Mesece>1602,98</BrutoPlacaZadnje3Mesece>
   <NetoPlacaZadnje3Mesece>1045,45</NetoPlacaZadnje3Mesece>
   <BrutoPlaca>1613,62</BrutoPlaca>
   <NetoPlaca>1051,73</NetoPlaca>
  </PovprecnaPlaca>
 </Place>
</PovprecnePlace>

1 个答案:

答案 0 :(得分:0)

从每个Datum的最后PovprecnaPlaca获取Place个节点。

var nodes = xdoc.XPathSelectElements("//PovprecnaPlaca[last()]/Datum");

获取每个节点内的文本。

List<string> results = nodes.Select(d => d.Value).ToList();

你的尝试没有工作的两个原因:1)它从根节点&#34; /&#34;该文档和此级别没有PovprecnaPlaca节点。 2)通过调用text(),它会获得XText,这会在Linq中引发异常,因为它在调用XPathSelectElements()时会预期节点。