2015-06-03 105 views
0

我使用具有這種格式的XML記錄一個簡單的例子學習XSLT:XSLT - 包括XML值在HTML表頭

<cd> 
    <title>Hide your heart</title> 
    <artist>Bonnie Tyler</artist> 
    <country>UK</country> 
    <company>CBS Records</company> 
    <price>9.90</price> 
    <year>1988</year> 
</cd> 

以下XSLT運作良好,在XML返回的所有記錄作爲一個HTML表格:

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 

<xsl:template match="/"> 
    <html> 
    <body> 
    <h2>My CD Collection</h2> 
    <table border="1"> 
     <tr bgcolor="#9acd32"> 
     <th style="text-align:left">Title</th> 
     <th style="text-align:left">Artist</th> 
     </tr> 
     <xsl:for-each select="catalog/cd"> 
     <tr> 
     <td><xsl:value-of select="title"/></td> 
     <td><xsl:value-of select="artist"/></td> 
     </tr> 
     </xsl:for-each> 
    </table> 
    </body> 
    </html> 
</xsl:template> 
</xsl:stylesheet> 

我現在已經被要求包括國家字段從標題頭(全國將有所有的記錄相同的值)的第一個XML記錄的值。

我試過以下,但它不工作:

<th style="text-align:left">Title <xsl:value-of select="country"/></th> 

我從來沒有到過之前,所以不知道是什麼來檢索XML值了「的for-each」循環這是正確的語法還是甚至可能?

+0

你的XML樣本不符合您的XSLT:它有沒有'catalog'包裝。 –

+0

我只包含了一個XML剪輯,但它包含了包裝器。對不起,遺憾。 – user982124

回答

0

嘗試:

<xsl:value-of select="catalog/cd[1]/country"/>