Задано произвольное количество узлов для выбора:
<root> <foo>1</foo> <foo>2</foo> <foo>3</foo> <foo>4</foo> <!-- ... --> <root>
Как выбрать все остальные foo, чтобы получить foo [1], foo [3], ...?
Попробуйте
/root/foo[position() mod 2 = 1]
Не знаю, будет ли это работать правильно, может понадобиться 0. Я забыл, если позиция начинается с 0 или 1
position () возвращает число, указывающее положение элемента относительно других дочерних элементов.Функция mod возвращает «остаток» от деления: 5 mod 2 = 1;6 мод 2 = 0;9 мод 2 = 1;10 мод 2 = 0;
также см .: https://en.wiktionary.org/wiki/modulo