【发布时间】:2018-08-31 17:05:39
【问题描述】:
我有一个如下的 XML:
<DataSet>
<FirstNode>
<UniqueKey>111</UniqueKey>
</FirstNode>
<FirstNode>
<UniqueKey>123</UniqueKey>
</FirstNode>
<FirstNode>
<UniqueKey>144</UniqueKey>
</FirstNode>
<SecondNode>
<FirstNodeKey>111</FirstNodeKey>
</SecondNode>
<SecondNode>
<FirstNodeKey>123</FirstNodeKey>
</SecondNode>
<SecondNode>
<FirstNodeKey>144</FirstNodeKey>
</SecondNode>
</DataSet>
我想用 XSLT 来获取:
<DataSet>
<FirstNode>
<UniqueKey>111</UniqueKey>
</FirstNode>
<SecondNode>
<FirstNodeKey>111</FirstNodeKey>
</SecondNode>
</DataSet>
<DataSet>
<FirstNode>
<UniqueKey>123</UniqueKey>
</FirstNode>
<SecondNode>
<FirstNodeKey>123</FirstNodeKey>
</SecondNode>
</DataSet>
<DataSet>
<FirstNode>
<UniqueKey>144</UniqueKey>
</FirstNode>
<SecondNode>
<FirstNodeKey>144</FirstNodeKey>
</SecondNode>
</DataSet>
如果标签相同,我可以使用:
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="DataSet">
<xsl:for-each-group select="*" group-by="UniqueKey">
<Updates>
<xsl:copy-of select="current-group()"/>
</Updates>
</xsl:for-each-group>
</xsl:template>
</xsl:stylesheet>
标签不同时我该怎么做?如何对这两个不同的标签进行分组? (我的情况是 UniqueKey 和 FirstNodeKey)。
提前致谢
【问题讨论】:
标签: xslt xslt-grouping