XPath获取子集的第一个元素

时间:2011-04-11 12:42:22

标签: xpath

我有这样的XML:

<AAA>
    <BBB aaa="111" bbb="222">
        <CCC/>
        <CCC xxx="555" yyy="666" zzz="777"/>
    </BBB>
    <BBB aaa="999">
        <CCC xxx="qq"/>
        <DDD xxx="ww"/>
        <EEE xxx="oo"/>
    </BBB>
    <BBB>
        <DDD xxx="oo"/>
    </BBB>
</AAA>

我想获得第一个<CCC>元素。但是使用XPath表达式//*/CCC[1]我有两个<CCC>个元素。它们中的每一个都是<BBB></BBB>上下文中的第一个elemet。如何获得子集中的第一个元素?

2 个答案:

答案 0 :(得分:40)

这个应该适合你:

(//*/CCC)[1]

答案 1 :(得分:15)

  

我想获得第一个元素。但随着   XPath表达式//*/CCC[1]我有   有两个要素。他们每个人都是   <BBB></BBB>上下文中的第一个elemet。   如何获得子集中的第一个元素?

这是常见问题解答

[]运算符的优先级(绑定更强)优于//运算符。

使用

(//CCC)[1]

这将选择XML文档中的第一个(按文档顺序)CCC元素。