如何使用xpath选择具有X作为后代的节点

时间:2010-02-23 21:49:28

标签: xml xpath

考虑以下示例:

<root>
   <instruments>
      <flute>
         <baz>bazik</baz>
      </flute>
      <guitar>
         <deep>
            <baz>more bazik</baz>
         </deep>
      </guitar>
      <drum>
         <foo>fooled</foo>
      </drum>
   </instruments>
</root>

我想选择fluteguitar,因为它们都包含baz作为后代节点。我怎么能这样做?

1 个答案:

答案 0 :(得分:20)

关键是使用谓词[descendant::baz]

所以表达式可以是

/root/instruments/*[descendant::baz]