XPath如果子元素具有值,则选择最后一个元素

时间:2018-10-23 21:49:13

标签: xml xpath

例如,我们有下一个XML文件。有些订单有说明;有些还没有。我如何接受具有DESCRIPTION元素的最后一个订单?

<ORDERSINFO>
  <ORDER>
    <NUMBER>168756</NUMBER>
  </ORDER>
  <ORDER>
    <NUMBER>16874</NUMBER>
    <DESCRIPTION>SOCKS</DESCRIPTION>
  </ORDER>
  <ORDER>
    <NUMBER>64971</NUMBER>
    <DESCRIPTION>JIGSAW</DESCRIPTION>
  </ORDER>
  <ORDER>
    <NUMBER>25597</NUMBER>
    <DESCRIPTION>FUEL CANISTER</DESCRIPTION>
  </ORDER>
  <ORDER>
    <NUMBER>31648</NUMBER>
  </ORDER>
</ORDERSINFO>

1 个答案:

答案 0 :(得分:1)

此XPath,

/ORDERSINFO/ORDER[DESCRIPTION][last()]

将选择最后一个具有ORDER的{​​{1}}元素,

DESCRIPTION

根据要求。


如果您希望选择最后一个包含非空或空白内容的<ORDER> <NUMBER>25597</NUMBER> <DESCRIPTION>FUEL CANISTER</DESCRIPTION> </ORDER> ,请使用以下XPath:

DESCRIPTION