2012-02-21 114 views
2

我有簡單的XML如下XML轉換爲HTML使用XSLT

<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

用途:

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

嘿喜它的工作。謝謝您的幫助。現在唯一的問題是:郵件沒有進入格式化的HTML。你能告訴我爲什麼這樣嗎? – MMP 2012-02-21 13:37:27

+0

看起來問題在於Body和Html標籤。您能否讓我知道這兩個標籤的正確位置? – MMP 2012-02-21 13:49:21

+0

@MilindPatil,你能否澄清你的問題? – 2012-02-21 13:50:44