xml – 仅使用XPath选择第一个实例?

前端之家收集整理的这篇文章主要介绍了xml – 仅使用XPath选择第一个实例?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在解析一些这样的XML:
<root>
    <some_gunk/>
    <dupe_node>
        ...
        stuff I want
        ...
    </dupe_node>
    <bits_and_pieces/>
    <other_gunk/>
    <dupe_node>
        ...
        stuff I don't want
        ...
    </dupe_node>
    <more_gunk/>
</root>

“// dupe_node”的XPath将给我两个dupe_node的实例来播放。我只想穿过第一个。我可以用XPath这样做吗?

/descendant::dupe_node[1]

// dupe_node [1]通常是错误的,虽然它在这种特殊情况下产生相同的结果。 See docs

The location path //para[1] does not mean the same as the location path /descendant::para[1]. The latter selects the first descendant para element; the former selects all descendant para elements that are the first para children of their parents.

给出以下XML:

<foo>
    <bar/>
    <foo>
        <bar/>
    </foo>
</foo>

// bar [1]将产生两个节点,因为两个栏都是其各自父项的第一个子节点。

/ descendant :: bar [1]将只给出一个节点,它是文档中第一个条。

猜你在找的XML相关文章