gpt4 book ai didi

mysql - MYSQL存储过程中的XML解析

转载 作者:行者123 更新时间:2023-11-30 21:58:41 28 4
gpt4 key购买 nike

我有一个 xml,其节点名称前面有 namespace 。这些 namespace 不一致,可能会有所不同。如何在不对命名空间进行硬编码的情况下提取 mysql 存储过程中节点的值。

示例 XML:

<ns1:token>
<ns2:id>12</ns2:id>
</ns1:token>

例如 mysql:我能够读取存储过程中“id”的值,如下所示

set id=ExtractValue(xml,'//ns1:token//ns2:id');

但是,我不希望 ns1/ns2 被硬编码,因为它们可能总是不一样。任何机构有任何想法吗?

最佳答案

目前没有办法忽略 MySQL XML 函数中的命名空间。虽然 ExtractValue 的第二个参数是一个 XPath 字符串,但它不支持完整的 XPath 功能,所以像 //*:token//*:id//*[local -name()='token']//*[local-name()='id'] 不起作用。

无论如何,命名空间与标记名称一样都是 XML 的一部分。如果你想做正确的 XML 处理,你不应该忽略 namespace 。这与说您不希望对标签名称进行硬编码没有什么不同,因为它们不会一直相同。

关于mysql - MYSQL存储过程中的XML解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44207472/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com