0

以下 xQuery 产生以下结果:

for $i in db:open('foo')/bar
return $i/geo 

结果:

<geo type="null"/>
<geo type="null"/>
<geo type="object">
   <type>Point</type>
   <coordinates type="array">
      <value type="number">41.00502344</value>
      <value type="number">29.05639393</value>
   </coordinates>
</geo>

我想将结果作为字符串并附加一些信息,例如

for $i in db:open('foo')/bar
return concat("some text ", $i/geo) 

“问题”是,concat 方法以及其他一些“toString”方法删除了标签,结果如下所示:

some text  some text  some text Point41.0050234429.05639393

我想要一个看起来像这样的结果:

some text <geo type="null"/>  some text <geo type="null"/> some text <geo type="object"> <type>Point</type> <coordinates type="array"> <value type="number">41.00502344</value> <value type="number">29.05639393</value> </coordinates></geo> ... 

是否有任何 xquery 函数可以保留元素的标签和信息?

4

1 回答 1

1

通过返回包含一些文本和地理元素的序列来替换 concat 函数调用,即

for $i in db:open('foo')/bar
return ("some text ", $i/geo) 
于 2012-08-17T19:05:27.727 回答