2017-02-16 119 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

相關問題