如何在XPath中获取序列的最后一个元素?

Ale*_*kin 12 ruby xpath nokogiri

在Ruby中,我们可以访问具有负数的数组,array[-1]以获取数组中的最后一个对象.我如何使用XPath执行此操作?

我不能这样做:

result = node.xpath('.//ROOT/TAG[-1]/KEY_NAME')
Run Code Online (Sandbox Code Playgroud)

我在Stack Overflow上找到了一个解决方案,但这是一个只更改上限来获取元素的查询.这可以返回最后一个项目或最后一个项目并且是流行的.

如果我想只获得array[-2]Ruby中的流行元素怎么办?

Jen*_*rat 29

您可以last()在谓词中使用XPath中的最后一个元素.

node.xpath('.//ROOT/TAG[last()]/KEY_NAME')
Run Code Online (Sandbox Code Playgroud)

[last()-1]用于倒数第二的位置.

  • 使用`[last() - 1]`表示倒数第二个位置. (10认同)