代码之家  ›  专栏  ›  技术社区  ›  Pungiish

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

  •  1
  • Pungiish  · 技术社区  · 8 年前

    我使用了第一个节点的子元素 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 回复  |  直到 8 年前
        1
  •  0
  •   derloopkat    8 年前

    收到 Datum 最后一个节点 PovprecnaPlaca 每个的 Place .

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

    获取每个节点内的文本。

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

    尝试不起作用的两个原因:1)它从文档的根节点“/”开始,没有 PovprecnaPlaca公司 此级别的节点。2) 通过呼叫 text() 越来越多了 XText 这在Linq中引发了一个异常,因为在调用 XPathSelectElements() .