我的客户端总是向我发送一个平面XML文件,如下所示:
<Root>
<ROW>
<KIND>A</KIND>
<DATA>Produc 1</DATA>
<DATA>Details</DATA>
</ROW>
<ROW>
<KIND>A</KIND>
<DATA>Product 2</DATA>
<DATA>Details</DATA>
</ROW>
<ROW>
<KIND>B</KIND>
<DATA>Product 3</DATA>
<DATA>Details</DATA>
</ROW>
<ROW>
<KIND>B</KIND>
<DATA>Product 4</DATA>
<DATA>Details</DATA>
</ROW>
</Root>
我需要一个按KIND分组的XML,如下所示:
<Root>
<KIND>A
<DATA>Product 1</DATA>
<DATA>Details</DATA>
<DATA>Product 2</DATA>
<DATA>Details</DATA>
</KIND>
<KIND>B
<DATA>Product 3</DATA>
<DATA>Details</DATA>
<DATA>Product 4</DATA>
<DATA>Details</DATA>
</KIND>
</Root>
我现在不知道我能完成它吗?谢谢大家。
答案 0 :(得分:2)
<xsl:for-each-group select="ROW" group-by="KIND">
<KIND>
<xsl:value-of select="current-grouping-key()"/>
<xsl:copy-of select="current-group()/*"/>
</KIND>
</xsl:for-each-group>
但我同意Kevin Brown的看法 - 你的输出设计甚至比输入的设计更差。