我只想更改这个
XML(包含在
XMLTYPE变量中)名为“ChildNode”的所有节点,其中“Name”=“B”属性值为“C”:
<RootNode> <ChildNodes> <ChildNode Name="A"/> <ChildNode Name="B"/> </ChildNodes> </RootNode> DECLARE FXML XMLTYPE; BEGIN FXML := ...; -- see text before -- what next? END;
谢谢!
解决方法
你可以使用
updatexml功能:
declare fOrigXml XmlType := XmlType( '<RootNode> <ChildNodes> <ChildNode Name="A"/> <ChildNode Name="B"/> </ChildNodes> </RootNode>'); fResXml XmlType; begin select updatexml((fOrigXml),'/RootNode/ChildNodes/ChildNode[@Name="B"]/@Name','C') into fResXml from dual; end;