XQuery:“toString方法”包括元素

时间:2012-08-17 18:33:06

标签: xquery

以下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函数可以保存元素的标签和信息?

1 个答案:

答案 0 :(得分:1)

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

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