0

我的客户总是向我发送一个平面 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>

我需要一个按种类分组的 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>

我现在不哇,我可以完成它吗?谢谢你们。

4

1 回答 1

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 的观点——你的输出设计比输入设计还要糟糕。

于 2013-06-19T23:08:34.060 回答