代码之家  ›  专栏  ›  技术社区  ›  Kit Sunde

使用XPATH选择其他节点

  •  11
  • Kit Sunde  · 技术社区  · 15 年前

    给定要选择的任意数量的节点:

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

    我如何选择其他foo以便得到foo[1]、foo[3]、。。。?

    2 回复  |  直到 15 年前
        1
  •  20
  •   Paul    15 年前

    尝试

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

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

        2
  •  0
  •   user2790877    9 年前

    position()返回一个数字,指示元素相对于其他子元素的位置。 mod函数返回除法的其余部分: 5模2=1;6模2=0;9模2=1;10模2=0;

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