我正在尝试使用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语法错误 计数(//#: 意外的令牌“(”超出查询结束 查询中的静态错误
我该如何纠正?
答案 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")])