1

看看下面的示例 XML——

<div id="main">
    <div id="1">
        Some random text
    </div>
    <div id="2">
        Some random text
    </div>
    <div id="3">
        Some random text
    </div>
    <p> Some more random text</p>
    <div id="4">
        Some random text
    </div>
</div>

现在,我如何使用 Xquery 找出主 div 中的 div 数量?以及如何在 XPath 中做到这一点?

4

2 回答 2

3

您可以使用以下 XPath:

count(div[@id="main"]/div)

该函数count进行计数,主要div由其选择id

于 2012-09-03T16:48:29.953 回答
2

下面的 XPath 表达式可以在 XPath 和 XQuery 中使用。之所以如此,是因为 XPath (2.0) 是 XQuery 的一个真子集。

使用

count(/*//div)

如果“主 div”不是 XML 文档的顶部元素,并且这是唯一具有字符串值的属性div,请使用:id"main"

count((//div[@id='main'])[1]//div)

如果保证div“主 div”的孩子没有div后代,请使用:

count((//div[@id='main'])[1]/div)

请注意:XPath 伪运算符//可能非常低效——这就是为什么总是尽量避免使用它,只要 XML 文档的结构是静态已知的并且可以使用特定的路径。

于 2012-09-03T17:46:10.657 回答