Преобразование XML в HTML с использованием XSLT - PullRequest
2 голосов
/ 21 февраля 2012

У меня есть простой xml, как показано ниже

<Scores>
    <Score1>
       <Name>A</Name>
       <Address>Address1</Address>
    </Score1>

    <Score2>
       <Name>B</Name>
       <Address>Address2</Address>
    </Score2>
</Scores>

Я хочу, чтобы он выводился в таблице HTML, как показано ниже.(Таблица HTML будет иметь заголовки из 2 столбцов «Имя» и «Адрес», и мне нужны значения в строках) Я не хочу жестко кодировать заголовки «Имя» и «Адрес».Они могут измениться в будущем.

Name            Address
A               Address1
B               Address2

Не могли бы вы дать мне знать, что для этого будет XSLT?

1 Ответ

1 голос
/ 21 февраля 2012

Использование:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" indent="yes"/>

    <xsl:template match="/Scores">
        <table>
            <tr>
                <xsl:for-each select="*[1]/*">
                    <th>
                        <xsl:value-of select="local-name()"/>
                    </th>
                </xsl:for-each>
            </tr>
            <xsl:apply-templates select="*"/>
        </table>
    </xsl:template>

    <xsl:template match="*">
        <tr>
            <xsl:for-each select="*">
                <td>
                    <xsl:value-of select="."/>
                </td>
            </xsl:for-each>
        </tr>
    </xsl:template>

</xsl:stylesheet>

Выход:

<table>
  <tr>
    <th>Name</th>
    <th>Address</th>
  </tr>
  <tr>
    <td>A</td>
    <td>Address1</td>
  </tr>
  <tr>
    <td>B</td>
    <td>Address2</td>
  </tr>
</table>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...