xpath查找具有最大属性的节点

时间:2012-01-23 13:18:06

标签: xpath

我有一个像这样的xml结构。

    <pages>
        <page a="1">111</page>
        <page a="1" b="2">222</page>
        <page a="1">333</page>
        <page a="1" b="2" c="3" d="4">444</page>
        <page a="1" b="2">555</page>
        <page a="1">666</page>
    </pages>

Xpath应返回值444,因为该节点已获得最大数量的属性。我们应该怎么做?请帮忙。

2 个答案:

答案 0 :(得分:1)

类似的问题有already been asked,结论是它还不可行。在当前的XPath规范中似乎没有max()函数,所以我认为你将不得不应用一些更复杂的代码来得到答案......:)

答案 1 :(得分:1)

根据http://wiki.orbeon.com/forms/doc/developer-guide/xpath-2-0-support Orbeon支持XPath 2.0,因此您可以执行/pages/page[count(@*) eq max(/pages/page/count(@*))]之类的内容。