xpath计数功能

时间:2012-04-05 22:38:54

标签: xml xpath count

我正在尝试使用XPath计数函数来确定通过以下查询返回的元素数量

doc("courses.xml")
count(//Course[contains(Description,"Cross-listed")])

以下代码返回2个课程元素

 doc("courses.xml")
//Course[contains(Description,"Cross-listed")]

但是当我尝试使用上面的计数功能返回“2”时,我收到以下错误。

tmpDfWgJ7.xq的第2行第1列出错:  #doc(“courses.xml”)中的XPST0003 XQuery语法错误 计数(//#:  意外的令牌“(”超出查询结束 查询中的静态错误

我该如何纠正?

3 个答案:

答案 0 :(得分:2)

count(doc(" courses.xml")//课程[包含(说明,"交叉列出")])

答案 1 :(得分:0)

使用

count(doc("courses.xml") //Course[contains(Description,"Cross-listed")])

或可能更具可读性

doc("courses.xml")/count(.//Course[contains(Description,"Cross-listed")])

答案 2 :(得分:0)

这也会奏效。你只需要在计数之前添加/:

doc("courses.xml")
/count(//Course[contains(Description,"Cross-listed")])