我一直在努力将this XML file中包含“交叉列表”的课程计数作为其描述。我遇到的问题是因为我正在使用它,它迭代并给我“1 1”而不是“2”。当我尝试使用let时,我得到13,这意味着即使我指向返回计数($ c [“交叉列表”],它也无条件计数。我做错了什么以及如何解决?提前感谢
for $c in doc("courses.xml")//Department/Course
where some $desc in $c/Description
satisfies contains($desc, "Cross-listed")
return count($c)
答案 0 :(得分:2)
我遇到的问题是因为我正在使用
你是对的。您不需要单独处理项目以计算它们。
你做得太难了。你想要
count(doc("courses.xml")//Department/Course[Description[contains(., "Cross-listed"]])
这里的关键是:你想要一个计数,所以调用count()
函数,并给它一个参数,选择你想要包含在计数中的一组事物。