Выбор любого другого node uing XPATH

Для произвольного количества узлов для выбора:

<root>
  <foo>1</foo>
  <foo>2</foo>
  <foo>3</foo>
  <foo>4</foo>
  <!-- ... -->
<root>

Как выбрать все остальные foo, чтобы получить foo [1], foo [3],...?

Ответ 1

Try

/root/foo[position() mod 2 = 1]

Не знаю, будет ли это работать правильно, может понадобиться 0. Я забываю, что позиция начинается с 0 или 1

Ответ 2

position() возвращает число, которое указывает положение элемента относительно других дочерних элементов. Функция mod возвращает "остаток" деления: 5 mod 2 = 1; 6 mod 2 = 0; 9 mod 2 = 1; 10 mod 2 = 0;

также см.: https://en.wiktionary.org/wiki/modulo