如何在XQuery中统计所有action类型genre条目总数?
解决XQuery统计action类型genre数量的问题
你的代码问题在于:遍历每个包含action类型genre的video节点时,每次返回该节点下genre的数量(每个匹配的video里只有1个genre节点),最终这些返回值被拼接成了"1 1 1"。
要得到总数量3,你需要一次性统计所有符合条件的节点总数,而不是逐个返回单个节点的计数。以下是两种可行的修正写法:
写法一:统计符合条件的video节点数量
<videos genre="action" count="{ count(doc("videos.xml")/result/videos/video[genre = "action"]) }"/>
写法二:直接统计值为action的genre节点数量
<videos genre="action" count="{ count(doc("videos.xml")/result/videos/video/genre[. = "action"]) }"/>
这两种写法都会在count属性中返回正确的总数3,符合你的预期输出格式。
内容的提问来源于stack exchange,提问作者Azil Sorveto
相关产品推荐
相关产品推荐

