使用xslt转换将xml转换为html


xml to html using xslt transform

文档:

<?xml version="1.0" encoding="utf-8"?>
<page>
    <tab dim="30">
        <column>
        </column>
        <column>
        </column>
    </tab>
    <tab dim="70">
    </tab>
</page>

样式表:

<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
    <xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html></xsl:text>
    <html>
    <head>
    </head>
    <body>
        <xsl:for-each select="tab">
        <div class="tab">tab</div>
        </xsl:for-each>
    </body>
    </html>
</xsl:template>
</xsl:stylesheet>

生成此

<!DOCTYPE html><html><head></head><body></body></html>

我想要这个

<!DOCTYPE html><html><head></head><body><div class="tab">tab</div><div class="tab">tab</div></body></html>

您需要

<xsl:for-each select="page/tab">

而不是

<xsl:for-each select="tab">

要么这样,要么你可以做

<xsl:template match="/page">

而不是

<xsl:template match="/">

对于<选项卡>–并且对于<页面>

<xsl:template match="page">
  <xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html&gt;</xsl:text>
  <html>
    <head></head>
    <body>
      <xsl:apply-templates/>
    </body>
  </html>
</xsl:template>
<xsl:template match="tab">
  <div class="tab">tab</div>
</xsl:template>