我正在尝试使用以下代码替换xml中的节点
String xquery_replace="xquery replace node CIDEM/ShopFloor/foo[/CIDEM/ShopFloor/ShopFloorID=1] with "+new_gbXML;
session.execute(xquery_replace);
所以我想要例如更改第一个ShopFloor节点的foo节点
xml具有以下内容
<CIDEM>
<ShopFloor>
<ShopFloorID>1</ShopFloorID>
<foo bar="2">
<baz>there</baz>
</foo>
</ShopFloor>
<ShopFloor>
<ShopFloorID>2</ShopFloorID>
<foo bar="5">
<baz>there</baz>
</foo>
</ShopFloor>
</CIDEM>
我收到以下错误 &#34; [XUTY0008]期望作为替换目标的单个元素,文本,属性,注释或pi。&#34;
知道为什么吗?
答案 0 :(得分:1)
错误消息本身告诉我哪里错了。
“[XUTY0008]预期单个元素,文本,属性,注释或pi作为替换目标。”
表示期望元素或文本或属性...作为要替换的目标。但是查询中的路径无处可去。阅读我的评论以获得正确的路径。
对于Ex:如果要将bar
的属性ShopFloorID
的值替换为值1
,则路径应为CIDEM/ShopFloor[ShopFlorrID="1"]/foo/@bar