gpt4 book ai didi

xml - 如何使用 XSLT 获取信息并对只有标识符的元素子集进行排序?

转载 作者:行者123 更新时间:2023-12-04 06:57:12 26 4
gpt4 key购买 nike

我是 XSLT 新手,无法解决以下问题:

我有一个这样的xml文件:

<root>
<subset>
<e id="A"></e>
<e id="C"></e>
</subset>

<data>
<info id="A" order="3" name="ANode"></info>
<info id="B" order="4" name="BNode"></info>
<info id="C" order="1" name="CNode"></info>
<info id="D" order="2" name="DNode"></info>
</data>
</root>

我想制作这个:
<root>
<newnode id="C" order="1" name="CNode"></newnode>
<newnode id="A" order="3" name="ANode"></newnode>
</root>

正如您所看到的,这个想法是通过检索相应的信息来“完成”id 的子集,并根据 <data> 上指定的顺序对它们进行相应的排序。 .

请注意 <data>应该有很多子节点。

另外,我将节点与 <data> 上的信息分开。 ids 子集中的元素,因为我将有很多子集,我不想“到处”重复信息。

提前致谢。

最佳答案

您还可以根据您可能需要对实际数据做些什么来关闭子集。

<xsl:output indent="yes" />

<xsl:key name="subset" match="e" use="@id" />

<xsl:template match="/">
<root>
<xsl:for-each select="//info[count(key('subset',@id)[1]) &gt; 0]">
<xsl:sort select="@order" data-type="number" />
<newnode id="{@id}" order="{@order}" name="{@name}" />
</xsl:for-each>
</root>
</xsl:template>

关于xml - 如何使用 XSLT 获取信息并对只有标识符的元素子集进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2418515/

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