XSLT конвертировать общий XML - PullRequest
0 голосов
/ 16 ноября 2011

У меня есть XML-файл, сгенерированный с использованием javax.sql.rowset.WebRowSet.writeXml, который выглядит следующим образом:

<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 голосов
/ 16 ноября 2011

Следующая таблица стилей дает желаемый результат:

<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>

Примечание: Добавлен корневой узел к данному источнику, чтобы сделать его правильно сформированным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...