在Ruby中,我们可以访问带有负数的数组,如array[-1]
,以获取数组中的最后一个对象。我如何使用XPath执行此操作?
我不能这样做:
result = node.xpath('.//ROOT/TAG[-1]/KEY_NAME')
我在Stack Overflow上找到了一个解决方案,但这是一个只更改上限以获取元素的查询。这可能会返回最后一个项目或最后一个项目并且很流行。
如果我想在Ruby中只获得像array[-2]
这样的流行元素,该怎么办?
答案 0 :(得分:29)
您可以在谓词中使用last()
访问XPath中的最后一个元素。
node.xpath('.//ROOT/TAG[last()]/KEY_NAME')
并使用[last()-1]
作为倒数第二的位置。