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