for循环获取n个节点的数字序列

时间:2012-07-06 11:08:28

标签: for-loop xquery

如果我有'n'个节点,并且我想从节点的开始分配一个数字到'n'个节点。 例如:

<entity>
  <result>
    <seq>1</seq>
  </result>
  <result>
    <seq>2</seq>
  </result>
  <result>
    <seq>3</seq>
  </result>
  ....
  ....
  ....
  <result>
    <seq>n</seq>
  </result>
</entity>

2 个答案:

答案 0 :(得分:2)

如果示例是您想要的结果,请尝试:

<entity>
    {
        for $n in 1 to 10
        return
            <result><seq>{$n}</seq></result>
    }
</entity>

否则,请重写您的问题,使其包含

  • 您想达到什么目标
  • 输入是什么
  • 预期产出是什么

另外,您想更新文档(XQuery Update)还是仅丰富输出?

答案 1 :(得分:1)

使用at关键字计算迭代次数。

let $list := (20, 23, 25, 24, 22, 21)

return
  <entity>
  {
    for $n at $seq in $list
      return
        <result><seq>{$seq}</seq><value>{$n}</value></result>
  }
  </entity>