Ответ 1
Вы можете получить доступ к последнему элементу в XPath, используя last()
в предикате.
node.xpath('.//ROOT/TAG[last()]/KEY_NAME')
И используйте [last()-1]
для второй-последней позиции.
В Ruby мы можем получить доступ к массиву с отрицательными номерами, например array[-1]
, чтобы получить последний объект в массиве. Как это сделать с помощью XPath?
Я не могу этого сделать:
result = node.xpath('.//ROOT/TAG[-1]/KEY_NAME')
Я нашел решение здесь в Stack Overflow, но это запрос, который просто изменяет верхний предел для получения элементов. Это может вернуть один последний элемент или последний элемент и превалировать.
Что делать, если я хочу получить только обычный элемент, например array[-2]
в Ruby?
Вы можете получить доступ к последнему элементу в XPath, используя last()
в предикате.
node.xpath('.//ROOT/TAG[last()]/KEY_NAME')
И используйте [last()-1]
для второй-последней позиции.