2012-07-07 126 views
1

代碼嵌套循環:使用嵌套循環

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

...不使用循環? – JJJ 2012-07-07 07:13:56

+0

使用嵌套循環獲得結果的機會? – Siddhu 2012-07-07 07:16:01

回答

0

我不明白你爲什麼首先使用循環。如果你只是想消息計數:

xquery version "1.0"; 
let $message := (1, 2) 
let $i := count($message) 

return 
    <results> 
     <count>{$i}</count> 
    </results> 
0

只需使用

for $i in 1 to count($message) 
    return 
     <results> 
      <count>{$i}</count> 
     </results> 

說明

從原來的代碼產生的重複是由於這樣的:

for $s in $message 

因爲$message是包含兩個項目的序列,所以for表達式的主體被執行兩次。內部for不是必需的,因爲變量$s在此for表達式的主體中未被引用。