gpt4 book ai didi

mysql - 使用 mysql ExtractValue() 从 xml 中选择数据

转载 作者:可可西里 更新时间:2023-11-01 07:20:15 27 4
gpt4 key购买 nike

我想从给定的 xml 中提取位置 id,如果位置确实存在,我还想设置提取它的条件。

<?xml version="1.0" encoding="UTF-8"?>
<id>1006221342207</id>
<name>Hitesh Modha</name>
<email>hitesh.99@hotmail.com</email>
<location>
<id>115440481803904</id>
<name>Ahmedabad, India</name>
</location>

我试过了:

SET location = ExtractValue(xml, '//locations//id');    
SELECT ExtractValue(location, '//id');

但它不起作用。请帮忙

最佳答案

SQL

SELECT
ExtractValue('<?xml version="1.0" encoding="UTF-8"?>
<id>1006221342207</id>
<name>Hitesh Modha</name>
<email>hitesh.99@hotmail.com</email>
<location>
<id>115440481803904</id>
<name>Ahmedabad, India</name>
</location>', '//location//id');

仅返回一个空结果,因为对于您使用的 XML 片段,路径 //locations//id 是空的。

您更有可能为 xpath 表达式寻找 '/location/id',因为它将返回 id text() 值:115440481803904

您犯的下一个错误是您认为 ExtractValue 会返回一个 XML 片段,您可以在其上重新运行 ExtractValue。事实并非如此(仅当 - 在您的示例中不是这种情况 - 位于 text() 节点中的 XML 编码为 CDATA)。

这里详细解释了所有细节:

如果你不能解决这些误解,我就没有进一步的建议可以给你。

关于mysql - 使用 mysql ExtractValue() 从 xml 中选择数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24256719/

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