gpt4 book ai didi

mysql - 从 MySQL 中的 XML 中检索到的提取数据重复

转载 作者:行者123 更新时间:2023-11-29 02:16:12 26 4
gpt4 key购买 nike

MySQL 版本 10.1.13-MariaDB

我需要迭代地检索特定元素中 m 属性的值

SELECT ExtractValue( 
'<a>
<b>
<c m="e1">
<k>asde1</k>
</c>
<c m="e2">
<k>asdae2</k>
</c>
<c m="e3">
<k>asdae3</k>
</c>
</b>
<b>
<c m="l1">
<k>asdl1</k>
</c>
<c m="l2">
<k>asdal2</k>
</c>
<c m="l3">
<k>asdal3</k>
</c>
</b>
</a>',

'//@m[1]' ) AS result;

我的结果是

e1 e2 e3 l1 l2 l3

我需要的是

e1

最佳答案

您的问题

SELECT ExtractValue( 
'SomeXML',
'//@m[1]' ) AS result;

执行深度搜索,由于 XPath 开头的 //。这意味着:找到名为“m”的任何属性并返回它的值!

对于 XML,尽可能具体总是一个好主意:

SELECT ExtractValue( 
'SomeXML',
'/a[1]/b[1]/c[1]/@m' ) AS result;

这意味着:从根开始并搜索第一个“a”,然后搜索第一个“b”和第一个“c”。这个元素有一个属性“m”。

你可以在这里测试它: http://www.sqlfiddle.com/#!9/9eecb7d/77760

关于mysql - 从 MySQL 中的 XML 中检索到的提取数据重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39342000/

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