Подтвердить что ты не робот

Как получить последний элемент последовательности в XPath?

В Ruby мы можем получить доступ к массиву с отрицательными номерами, например array[-1], чтобы получить последний объект в массиве. Как это сделать с помощью XPath?

Я не могу этого сделать:

result = node.xpath('.//ROOT/TAG[-1]/KEY_NAME')

Я нашел решение здесь в Stack Overflow, но это запрос, который просто изменяет верхний предел для получения элементов. Это может вернуть один последний элемент или последний элемент и превалировать.

Что делать, если я хочу получить только обычный элемент, например array[-2] в Ruby?

4b9b3361

Ответ 1

Вы можете получить доступ к последнему элементу в XPath, используя last() в предикате.

node.xpath('.//ROOT/TAG[last()]/KEY_NAME')

И используйте [last()-1] для второй-последней позиции.