获取每组代码10/11/12的最后一个修改集



我想做的是为每个集合代码检索这些值的第一次出现:

<Root>
<Set>
<Code>10</Code>
<Date>20140405</Date>
</Set>
<Set>
<Code>12</Code>
<Date>20140405</Date>
</Set>
<Set>
<Code>12</Code>
<Date>20140404</Date>
</Set>
<Set>
<Code>11</Code>
<Date>20140404</Date>
</Set>
<Set>
<Code>11</Code>
<Date>20140305</Date>
</Set>
<Set>
<Code>12</Code>
<Date>20140305</Date>
</Set>
<Set>
<Code>10</Code>
<Date>20140302</Date>
</Set>
</Root>

我想要的结果是:我使用了带有按日期排序和position()的foreach,但没有得到正确的结果:

<Root>
 <Set>
 <Code>10</Code>
 <Date>20140405</Date>
 </Set>
 <Set>
 <Code>12</Code>
 <Date>20140404</Date>
 </Set>
 <Set>
 <Code>11</Code>
 <Date>20140404</Date>
 </Set>
</Root>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output omit-xml-declaration="yes" indent="yes"/>
    <xsl:strip-space elements="*"/>
    <xsl:key name="kLineById" match="Set" use="Code"/>
    <xsl:template match="node()|@*">
        <xsl:copy>
            <xsl:apply-templates select="node()|@*"/>
        </xsl:copy>
    </xsl:template>
    <xsl:template match="Set[not(generate-id() = generate-id(key('kLineById', Code)[1]))]"/>
</xsl:stylesheet>

相关内容

  • 没有找到相关文章

最新更新