2017-02-16 120 views
0

如何实现将文本值从xml doc中的一个元素复制到另一个元素。xquery将文本值从一个元素复制到另一个元素

<f> <a> val1 </a> <b> val2 </B> </f> 

目标

<G> <alpha/> <beta/> </G> 

期望结果

<G> <alpha>val1</alpha> <beta>val2</beta> </G> 

试图这样做机智h以下

let $src:= f/* 
let $tgt:= G/* 

**Option1 :** Let src/text():= tgt/text() // does not work 
**Option2:** 
for $i in $src let $tgt[$i/position()]/text() := $i/text() 

回答

0

您不能更改正常XQuery中的元素(虽然存在扩展名“XQuery更新”)。特别是与let不同,因为它仅用于设置变量。

但是你可以创建具有相同的名称和内容的新元素:

let $src:= f/* 
let $tgt:= G/* 
for $s at $i in $src 
return element { name($tgt[$i]) } { $s/node() } 
+0

THKS多,欣赏它。不知道可以带上运营商。 – bajju

相关问题