在XML标记

时间:2017-04-13 12:12:25

标签: xml xquery

我有一个问题(我在本网站上实际提出的第一个问题)。我的xquery声明有问题。我想要做的是将变量名称放在xml标记的声明中(例如。

我不知道是否可以这样做。我一直在尝试很多语法,但这是我到目前为止所做的:

let $test:=  ("1", "2", "3")
return
<ROOT>
{
  for $x in $test return
    <TEST{$x}>foo</TEST{$x}>
}
</ROOT>

这就是我想要的结果:

<TEST1>foo</TEST1>
<TEST3>foo</TEST2>
<TEST3>foo</TEST3>

我知道这不是xml应该如何完成的,最好有类似的东西:

<BAR>
  <TEST>foo</TEST>
  <ID>1</ID>
</BAR>><BAR>
  <TEST>foo</TEST>
  <ID>2</ID>
</BAR>

但我对输入中的xml部分不负责任。客户是...... 当然,我写的xquery是一个非常简化的xquery,我只是把我遇到的问题分开了。

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案:

let $test:=  ("1", "2", "3")

return
<ROOT>
{
  for $x in $test return
    element {concat('TEST', $x)} {'foo'}
}
</ROOT>