You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用XQuery获取XML倒数第二个及最后一个datapoint值

XQuery查找序列倒数第二个数据项实现

直接利用last()函数的偏移特性即可定位倒数第二个节点,不需要额外做序列遍历或单独计算长度。

示例XML结构

<item> 
   <datapoint>5</datapoint>
</item>
<item> 
   <datapoint>4</datapoint>
</item>
<item> 
   <datapoint>6</datapoint>
</item>
<item> 
   <datapoint>8</datapoint>
</item>
<item> 
   <datapoint>9</datapoint>
</item>

具体取值写法

  • 取最后一个datapoint值(原有可用写法)
//item/datapoint[last()]/string()

针对上述示例的返回结果:9

  • 取倒数第二个datapoint值
    在位置谓词中使用last() - 1做定位即可,逻辑和取最后一个节点完全一致:
//item/datapoint[last() - 1]/string()

针对上述示例的返回结果:8

注意:如果XML中item节点总数只有1个,last() - 1的计算结果为0,不会匹配到任何节点,也不会抛出执行错误,如果业务场景需要兼容单节点情况,可以额外加节点总数判断做兜底。

内容的提问来源于stack exchange,提问作者Andy Reagan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 22:15:45