在Ruby中,我们可以访问一个带有负数的数组,比如array[-1]
,以获得数组中的最后一个对象。如何使用XPath做到这一点?
我不能这样做:
result = node.xpath('.//ROOT/TAG[-1]/KEY_NAME')
我在堆栈溢出上找到了一个解决方案,但这是一个查询,只是改变了获取元素的上限。这可以返回最后一项或最后一项和前一项。
如果我想在Ruby中只获得前一个元素,如array[-2]
,该怎么办?
您可以在谓词中使用last()
访问XPath中的最后一个元素。
node.xpath('.//ROOT/TAG[last()]/KEY_NAME')
使用[last()-1]
作为倒数第二的位置。