如何使用 xPath 或其他任何工具获取最后的 XML 项?

How can I get those last XML items using xPath or anything else?

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

XML的图片供参考:

感谢所有有用的答案!

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>

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

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

获取每个节点内的文本。

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

您的尝试失败的两个原因:1) 它从文档的根节点“/”开始,并且在该级别没有 PovprecnaPlaca 节点。 2) 通过调用 text() 它得到 XText 这会在 Linq 中引发异常,因为它期望在调用 XPathSelectElements().

时得到节点