如何选择与父级同名的子级

时间:2017-09-13 15:13:34

标签: xml xpath

我有以下xml

<parent> <parent> <someChild></someChild> </parent> </parent>

我尝试用//parent/parent选择第二个父级,但没有运气我只得到第一个父级。

如何选择第二个父级?

2 个答案:

答案 0 :(得分:0)

对于与父元素命名相同的子元素,没有什么特别之处。对于您的XML,/parent/parent将选择第二级父元素(与//parent/parent XPath一样,尽管实际上不需要使用descendant-or-self轴)。

答案 1 :(得分:0)

如果要选择更多子元素,则XPath是正确的。

示例XML

<root>
  <parent>
    <parent>
      <someChild>1</someChild>
    </parent>
  </parent>
  <parent>
    <parent>
      <someChild>2</someChild>
    </parent>
  </parent>
  <other>
    <parent>
      <parent>
        <someChild>3</someChild>
      </parent>
    </parent>
    <parent>
      <parent>
        <someChild>4</someChild>
      </parent>
    </parent>
  </other>
</root>

//parent/parent

的所选元素
<parent>
  <someChild>1</someChild>
</parent>
<parent>
  <someChild>2</someChild>
</parent>
<parent>
  <someChild>3</someChild>
</parent>
<parent>
  <someChild>4</someChild>
</parent>

//parent/parent/..

的所选元素

如果您希望显示父母双方,请使用上述内容。

<parent>
  <parent>
    <someChild>1</someChild>
  </parent>
</parent>
<parent>
  <parent>
    <someChild>2</someChild>
  </parent>
</parent>
<parent>
  <parent>
    <someChild>3</someChild>
  </parent>
</parent>
<parent>
  <parent>
    <someChild>4</someChild>
  </parent>
</parent>