我想做的是为eache SetCode重新开始这些值的第一次重复
<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排序日期和位置(),但没有得到正确的结果
<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>
答案 0 :(得分:0)
<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>