【问题标题】:Get the last modified set of each set code 10/11/12获取每组代码的最后修改组 10/11/12
【发布时间】:2014-12-17 16:45:31
【问题描述】:

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

<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>

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

<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>

【问题讨论】:

标签: xml csv xslt xslt-1.0


【解决方案1】:
<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>

【讨论】:

    猜你喜欢
    • 2011-03-27
    • 2022-08-09
    • 1970-01-01
    • 2015-08-18
    • 1970-01-01
    • 2016-02-02
    • 2011-10-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多