我有一个带有子节点的节点,其节点如下:
<parent>
<child>a</child>
<child>b</child>
<child>c</child>
<child>a</child>
<child>c</child>
</parent>
我想计算一个孩子的数量&#39; a&#39;作为内容。
到目前为止,我已尝试过:
count($node/child/'a')
但这只给了我所有孩子的数量。 这样做的正确方法是什么?
答案 0 :(得分:2)
试试这个:
let $parent :=
<parent>
<child>a</child>
<child>b</child>
<child>c</child>
<child>a</child>
<child>c</child>
</parent>
return count($parent/child[text() = 'a'])
它也会计算<child>a<foobar/>b</child>
,因为找到了文本节点a
。要比较所有文本上下文,您可以使用$parent/child[. = 'a']
。