XSLT转换通用XML

时间:2011-11-15 21:17:06

标签: xslt

我有一个使用javax.sql.rowset.WebRowSet.writeXml生成的XML文件,如下所示:

<metadata>
This section has column properties like name / label etc
</metadata>
<data>
<currentRow>
      <columnValue>Ken</columnValue>
      <columnValue>12</columnValue>
      <columnValue>USA</columnValue>
    </currentRow>
</data>

我想将其转换为:

<Class>
     <Student>
      <name>Ken</name>
      <ID>12</ID>
      <location>USA</location>
    </Student>
</Class>

我该如何进行转换?我需要这个将XML转换为HTML表。

1 个答案:

答案 0 :(得分:0)

以下样式表会产生所需的结果:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
        <Class>
            <xsl:apply-templates select="/*/data/currentRow" />
        </Class>
    </xsl:template>
    <xsl:template match="currentRow">
        <Student>
            <xsl:apply-templates select="columnValue" />
        </Student>
    </xsl:template>
    <xsl:template match="columnValue[1]">
        <name><xsl:apply-templates/></name>
    </xsl:template>
    <xsl:template match="columnValue[2]">
        <ID><xsl:apply-templates/></ID>
    </xsl:template>
    <xsl:template match="columnValue[3]">
        <location><xsl:apply-templates/></location>
    </xsl:template>
</xsl:stylesheet>

注意:在给定的源中添加了一个根节点,使其格式正确。