UpdateXML(xml_target, xpath_expr, new_xml)
This function replaces a single portion of a given fragment of XML markup xml_target
with a new XML fragment new_xml
, and then returns the changed XML. The portion of xml_target
that is replaced matches an XPath expression xpath_expr
supplied by the user. If no expression matching xpath_expr
is found, or if multiple matches are found, the function returns the original xml_target
XML fragment. All three arguments should be strings.
SELECT UpdateXML('<a><b>ccc</b><d></d></a>', '/a', '<e>fff</e>') AS val1, UpdateXML('<a><b>ccc</b><d></d></a>', '/b', '<e>fff</e>') AS val2, UpdateXML('<a><b>ccc</b><d></d></a>', '//b', '<e>fff</e>') AS val3, UpdateXML('<a><b>ccc</b><d></d></a>', '/a/d', '<e>fff</e>') AS val4, UpdateXML('<a><d></d><b>ccc</b><d></d></a>', '/a/d', '<e>fff</e>') AS val5 \G *************************** 1. row *************************** val1: <e>fff</e> val2: <a><b>ccc</b><d></d></a> val3: <a><e>fff</e><d></d></a> val4: <a><b>ccc</b><e>fff</e></a> val5: <a><d></d><b>ccc</b><d></d></a> 1 row in set (0.00 sec)
© 2019 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/updatexml/