使用XPATH选择每个其他节点

时间:2010-11-23 19:56:53

标签: xpath

给定一个任意数量的节点来选择:

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

如何选择其他所有foo以便我得到foo [1],foo [3],...?

2 个答案:

答案 0 :(得分:20)

尝试

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

不知道它是否能正常工作,可能需要0.我忘记了位置是从0还是1开始

答案 1 :(得分:0)

position()返回一个数字,表示元素相对于其他子元素的位置。 mod函数返回一个除法的“休息”: 5 mod 2 = 1; 6 mod 2 = 0; 9 mod 2 = 1; 10 mod 2 = 0;

另见:https://en.wiktionary.org/wiki/modulo