请考虑以下 XML--
<div id="test">
<p> Text sihdfaif</p>
<p />
<p> Text sihdfaif</p>
<p />
<p> Text sihdfaif</p>
<p> Text sihdfaif</p>
<p> Text sihdfaif</p>
</div>
现在,我想获取其中包含一些文本的 p 元素的数量。在这种情况下,该值 = 5(有 2 个“p”元素为空)
这是我想出的 XQuery——
let $claims_main := $doc//div[@id="test"]
let $claims := $doc//div[@id="test"]/p
let $n := count($claims)
where $claims_main/p != ''
return $n
然而我从上面得到的结果是7,即包括空的'p'元素。
我想到的另一种选择是对所有“p”元素使用for循环,但在这种情况下,我如何检索循环的元素总数?如果我在这种情况下使用 count ,那么我只会得到 [1,1,1,1,1]- 即。每个 p 元素的计数(因为在 for 循环中,计数将针对每个 'p' 元素,而不是 div 本身)...