在 MySQL 中,可以使用内置的 XML 函数来查询和操作 XML 类型的数据
ExtractValue(xml_frag, xpath_expr):从 XML 文档中提取指定路径的值。UpdateXML(xml_target, xpath_expr, new_xml):更新 XML 文档中指定路径的值。XMLElement(tag_name, content):创建一个 XML 元素节点。XMLAttributes(attribute_list):为 XML 元素添加属性。XMLConcat(xml_frag1, xml_frag2, …):连接多个 XML 片段。XMLRemoveNamespace(xml_frag):移除 XML 文档中的命名空间。XMLReplaceNamespace(xml_frag, old_namespace, new_namespace):替换 XML 文档中的命名空间。XMLSerialize(xml_frag):将 XML 文档序列化为字符串。XMLTextExtract(xml_frag, xpath_expr):从 XML 文档中提取指定路径的文本值。以下是一些示例查询:
-- 创建一个包含 XML 类型数据的表CREATE TABLE test_xml (id INT PRIMARY KEY AUTO_INCREMENT, data XML);-- 向表中插入 XML 数据INSERT INTO test_xml (data) VALUES ('<person><name>John</name><age>30</age></person>');-- 查询 XML 数据中的 name 和 age 元素SELECT ExtractValue(data, '/person/name') AS name, ExtractValue(data, '/person/age') AS age FROM test_xml;-- 更新 XML 数据中的 age 元素UPDATE test_xml SET data = UpdateXML(data, '/person/age', '<age>31</age>') WHERE id = 1;-- 删除 XML 数据中的 age 元素UPDATE test_xml SET data = UpdateXML(data, '/person/age', '') WHERE id = 1;注意:在实际应用中,建议使用专门的 XML 解析库(如 Python 的 lxml、Java 的 JAXB 等)来处理 XML 数据,因为这些库通常更强大且易于使用。


