gpt4 book ai didi

attributes - 如何根据xquery中的属性对元素进行分组?

转载 作者:行者123 更新时间:2023-12-01 23:26:05 25 4
gpt4 key购买 nike

我有这个 xml:

<all>
<a>
<b x="i" al="kl"/>
<b x="j" al="ml"/>
<b x="k" al="jl"/>
<b x="j" al="pl"/>
<b x="j" al="il"/>
<b x="i" al="dl"/>
</a>
<a>
<b x="i1" al="kl"/>
<b x="j2" al="ml"/>
<b x="k3" al="jl"/>
<b x="j2" al="pl"/>
<b x="j2" al="il"/>
<b x="i3" al="dl"/>
</a>
</all>

我真正想做的是为每个 a 我需要将元素 b 按 @x 分组。所以结果看起来像:

<a x="j">
<b x="j" l="ml"/>
<b x="j" l="pl"/>
...
</a>
<a x="i">
<b x="i" al="kl"/>
<b x="i" al="dl"/>
</a>
...
...
...

最佳答案

这个 XQuery:

element result {
for $a in /all/a
return for $x in ($a/b/@x)[index-of($a/b/@x,.)[1]]
return element a {
$x,
$a/b[@x eq $x]
}
}

输出:

<result>
<a x="i">
<b x="i" al="kl"/>
<b x="i" al="dl"/>
</a>
<a x="j">
<b x="j" al="ml"/>
<b x="j" al="pl"/>
<b x="j" al="il"/>
</a>
<a x="k">
<b x="k" al="jl"/>
</a>
<a x="i1">
<b x="i1" al="kl"/>
</a>
<a x="j2">
<b x="j2" al="ml"/>
<b x="j2" al="pl"/>
<b x="j2" al="il"/>
</a>
<a x="k3">
<b x="k3" al="jl"/>
</a>
<a x="i3">
<b x="i3" al="dl"/>
</a>
</result>

关于attributes - 如何根据xquery中的属性对元素进行分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4216345/

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