UPDATEXML
描述
该函数用于更新 XML 字符串中指定路径的节点内容。
语法
UPDATEXML(xml_target, xpath_expr, new_xml)
参数解释
信息
将 xml_target 中被 xpath_expr 指定的部分替换为 new_xml。如果 xpath_expr 没有匹配到结果或者匹配到多个结果,就返回 xml_target 原始结果。
| 字段 | 说明 |
|---|---|
| xml_target | 指定的 XML 字符串,可以是一个 XML 文档或片段。 |
| xpath_expr | 指定要更新的节点的路径(XPath)表达式。 |
| new_xml | 指定要替换节点的新 XML 片段。 |
返回类型
返回类型为 LONGTEXT。
示例
-
使用
UPDATEXML函数将 XML 字符串中的</a>节点替换为<x>carrot</x>节点,并返回更新后的 XML 字符串。<a/><b/>表示一个包含了两个节点<a>和<b>的根节点。SELECT UPDATEXML('<a/><b/>', '/a', '<x>carrot</x>');返回结果如下:
+----------------------------------------------+
| UPDATEXML('<a/><b/>', '/a', '<x>carrot</x>') |
+----------------------------------------------+
| <x>carrot</x><b></b> |
+----------------------------------------------+
1 row in set (0.001 sec) -
使用
UPDATEXML函数将 XML 字符串中的root节点下的a节点替换为<b>bbb</b>节点,并返回更新后的 XML 字符串。SELECT UPDATEXML('<root><a>aaa</a></root>', '/root/a', '<b>bbb</b>');返回结果如下:
+---------------------------------------------------------------+
| UPDATEXML('<root><a>aaa</a></root>', '/root/a', '<b>bbb</b>') |
+---------------------------------------------------------------+
| <root><b>bbb</b></root> |
+---------------------------------------------------------------+
1 row in set (0.001 sec)