选择具有子节点的最后一个节点

时间:2015-08-24 14:52:43

标签: xml xslt xpath xslt-2.0

您好我想知道是否有一些方便的标准我可以用来选择带有子节点的最后一个节点。例如:

<Results>
    <Result Number="1"/>
    <Result Number="2">
        <Subresult>a</Subresult>
    </Result>
    <Result Number="3"/>
    <Result Number="4">
        <Subresult>a</Subresult>
    </Result>
    <Result Number="5"/>
    <Result Number="6"/>
</Results>

在上面的示例中,我感兴趣的是选择节点号4,因为它是具有子节点的最后一个节点。

我希望有一些方便的方法可以做到这一点,而不是把它扔进一个for-each或者什么东西,比如Criteria或者什么或一套标准。

希望我的问题和榜样有意义!

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

首先,您过滤那些拥有节点(*)的人,从该集合中获取最后一个元素。不会获得具有文本而不是子节点的元素。

(//Result[*])[last()]

经过this测试。