XPath:返回第一个遇到具有特定属性的子节点

时间:2013-09-18 14:48:30

标签: xpath return parent-child attr

拥有以下层次结构:

Parent1
    --> child1(@name = 'abc')
    --> child2(@name = 'xyz')
    --> child3(@name = 'qqq')

Parent2
    --> child1
    --> child2(@name = 'yui')

XPath ,它返回所需的以下节点:

child1 from Parent1

child2 from Parent2

规则如下:
返回首次发生具有特定属性,在本例中为@name

注意:
first()[1]不起作用

1 个答案:

答案 0 :(得分:1)

以下xpath:

/root/node()/node()[@name][position()=1]

使用此XML:

<?xml version="1.0" encoding="utf-8"?>
<root>
  <parent1>
    <child1 name="abc"></child1>
    <child2 name="xyz"></child2>
    <child3 name="qqq"></child3>
  </parent1>
  <parent2>
    <child1></child1>
    <child2 name="yui"></child2>
  </parent2>
</root>

返回:

Element='<child1 name="abc" />'
Element='<child2 name="yui" />'