1

我正在尝试使用 XPath 计数函数来确定以下查询返回了多少元素

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

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

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

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

tmpDfWgJ7.xq 的第 2 行第 1 列出错:XPST0003 XQuery 语法错误在 #doc("courses.xml") count(//#: Unexpected token "(" beyond end of query 查询中的静态错误

我该如何纠正?

4

3 回答 3

2

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

于 2012-04-05T23:48:20.150 回答
0

使用任一

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

或者什么可能更具可读性

doc("courses.xml")/count(.//Course[contains(Description,"Cross-listed")])
于 2012-04-06T03:59:07.260 回答
0

这也将起作用。您只需要在计数之前添加 / :

doc("courses.xml")
/count(//Course[contains(Description,"Cross-listed")])
于 2013-02-24T14:07:51.177 回答