如何使用XQuery统计单个父节点下的子元素数量
XQuery统计音乐人专辑数量问题解决方案
错误原因
你编写的代码中,for循环遍历的是每个音乐人下的<albums>父节点,每个音乐人仅存在1个<albums>节点,因此count($n)统计的是<albums>节点本身的数量,输出全部为1。你需要统计的是每个<albums>节点下的<album>子节点总数。
正确代码
写法1:基于原有代码修改
for $n in //musicians/musician/albums let $count := count($n/album) return $count
写法2:遍历音乐人节点(可读性更高)
for $musician in //musicians/musician return count($musician/albums/album)
输出结果
运行上述代码后即可得到预期输出:
2 2 4
内容的提问来源于stack exchange,提问作者COM
相关产品推荐
相关产品推荐

