如何将文本值从xml doc中的一个元素复制到另一个元素。
来源
<f> <a> val1 </a> <b> val2 </B> </f>
靶
<G> <alpha/> <beta/> </G>
期望的结果
<G> <alpha>val1</alpha> <beta>val2</beta> </G>
尝试使用下面的
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 :(得分:0)
您无法更改普通XQuery中的元素(尽管存在扩展“XQuery更新”)。特别是let
,因为它仅用于设置变量。
但是你可以创建一个具有相同名称和内容的新元素:
let $src:= f/*
let $tgt:= G/*
for $s at $i in $src
return element { name($tgt[$i]) } { $s/node() }