嵌套循环代码:
xquery version "1.0";
let $message := (1, 2)
for $s in $message
let $message1 := count($message)
for $i in ((1 to $message1))
return
<results>
<count>{$i}</count>
</results>
通过使用这个嵌套的for循环,我得到这个序列加倍。那么如何通过使用嵌套循环来获得单次结果。
答案 0 :(得分:0)
我不明白为什么你首先使用循环。如果您只想要消息计数:
xquery version "1.0";
let $message := (1, 2)
let $i := count( $message )
return
<results>
<count>{$i}</count>
</results>
答案 1 :(得分:0)
只需使用:
for $i in 1 to count($message)
return
<results>
<count>{$i}</count>
</results>
<强>解释强>:
原始代码产生的重复是由于:
for $s in $message
由于$message
是包含两个项目的序列,因此for
表达式的主体将执行两次。此内部for
不是必需的,因为此$s
表达式的主体中根本未引用变量for
。