我知道有很多关于对 XSLT 元素进行分组的链接,但我无法让它工作,我在这里看看是否有人可以给我一个启发。
我需要对具有相同 id 的几个元素进行分组。
我的数据库是这样的:
我拥有的 XSLT 就是这个,读取数据库:
这是我得到的 XML:
但我想这样分组:
有人可以给我一盏灯吗?
谢谢
我知道有很多关于对 XSLT 元素进行分组的链接,但我无法让它工作,我在这里看看是否有人可以给我一个启发。
我需要对具有相同 id 的几个元素进行分组。
我的数据库是这样的:
我拥有的 XSLT 就是这个,读取数据库:
这是我得到的 XML:
但我想这样分组:
有人可以给我一盏灯吗?
谢谢
对于 XSLT 1.0,我将使用Muenchian 分组,如下所示:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes"/>
<xsl:key name="item-by-id" match="item" use="@id"/>
<xsl:template match="root">
<xsl:copy>
<xsl:apply-templates select="item[generate-id() = generate-id(key('item-by-id', @id)[1])]"/>
</xsl:copy>
</xsl:template>
<xsl:template match="item">
<xsl:copy>
<xsl:copy-of select="@* | key('item-by-id', @id)/*"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
那改变
<root>
<item id="questionario_atendimento_cordialidade">
<quantidade id="2">1</quantidade>
<nota id="3">1</nota>
</item>
<item id="questionario_atendimento_cordialidade">
<quantidade id="2">1</quantidade>
<nota id="3">2</nota>
</item>
<item id="questionario_atendimento_cordialidade">
<quantidade id="2">3</quantidade>
<nota id="3">3</nota>
</item>
<item id="questionario_atendimento_cordialidade">
<quantidade id="2">8</quantidade>
<nota id="3">4</nota>
</item>
</root>
进入
<root>
<item id="questionario_atendimento_cordialidade">
<quantidade id="2">1</quantidade>
<nota id="3">1</nota>
<quantidade id="2">1</quantidade>
<nota id="3">2</nota>
<quantidade id="2">3</quantidade>
<nota id="3">3</nota>
<quantidade id="2">8</quantidade>
<nota id="3">4</nota>
</item>
</root>