我有一个xml文档如下
<users>
<user test="oldvalue">
<userid>sony</userid>
<name>vijay</name>
</user>
</users>
我正在尝试编写一个 xquery 来 1) 找到具有给定用户 ID 的用户 - 索尼 2) 将给定用户的“test”属性的值更改为“newvalue”。
我正在尝试以下操作:(其中 doc_name = xml 文档的名称,userid = sony)
declare variable $doc_name as xs:string external;
declare variable $userid as xs:string external;
let $users_doc := doc($doc_name)/users
let $old := $users_doc/user[userid=$userid]/@test="oldvalue"
let $new := $users_doc/user[userid=$userid]/@test="newvalue"
return replace node $old with $new
我看到以下错误:[XUTY0008] 单个元素、文本、属性、注释或 pi 应作为替换目标。
我该如何解决?