2014-10-30 134 views
0

以前一切正常。然後,當我將樣式引用添加到我的xml中時,我所得到的只是大多數瀏覽器中的空白頁面。雖然在Firefox中,我得到一個錯誤,說:「XML解析錯誤:不正確」,它指向第16行,我的第二個tr標籤。當我在Coda預覽工具中查看它時,我可以看到我的表格標題和h1,但沒有任何數據顯示出來。這是一個非常簡單的文件。它的格式與w3c HERE上的示例完全相同。我嘗試過這裏的其他解決方案,但他們都沒有解決我的問題。我也嘗試過頭的各種組合,都沒有運氣。我非常感謝幫助。由於添加xsl樣式表後無法顯示xml文件

的XML:

<?xml version="1.0" encoding="UTF-8"?> 
<?xml-stylesheet type="text/xsl" href="stylesheet.xsl"?> 

<FRIENDLIST> 
    <FRIEND> 
     <NAME>Speen</NAME> 
     <AGE>23</AGE> 
     <ADDRESS>430 I Street, SLC UT</ADDRESS> 
     <PHONE>801-555-8796</PHONE> 
     <EMAIL>xxx</EMAIL> 
    </FRIEND> 

    <FRIEND> 
     <NAME>Wafiq</NAME> 
     <AGE>25</AGE> 
     <ADDRESS>xxx</ADDRESS> 
     <PHONE>325-555-4232</PHONE> 
     <EMAIL>xxx</EMAIL> 
    </FRIEND> 
</FRIENDLIST> 

了xsl:

<?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> 
      <h1>My Friends</h1> 
       <table border="1"> 
        <tr bgcolor="grey"> 
         <th style="text-align:center">Name</th> 
         <th style="text-align:center">Age</th> 
         <th style="text-align:center">Address</th> 
         <th style="text-align:center">Phone</th> 
         <th style="text-align:center">Email</th> 
        </tr> 
        <xsl:for-each select="friendlist/friend"> 
        <tr> 
         <td><xsl:value-of select="Name"/></td> 
         <td><xsl:value-of select="Age"/></td> 
         <td><xsl:value-of select="Address"/></td> 
         <td><xsl:value-of select="phone"/></td> 
         <td><xsl:value-of select="email"/></td> 
        </tr> 
        </xsl:for-each> 
       </table>    
     </body> 
    </html> 
</xsl:template> 
</xsl:stylesheet> 

回答

0

看起來像谷歌Chrome瀏覽器只是不允許的本地XML文件的觀賞性。其他瀏覽器正常工作。

Bug Report

1

工作正常,我在Firefox。

數據未顯示,因爲xpath區分大小寫。將您的xsl更改爲使用正確的xpath選擇器。

<xsl:for-each select="FRIENDLIST/FRIEND"> 
<tr> 
    <td><xsl:value-of select="NAME"/></td> 
    <td><xsl:value-of select="AGE"/></td> 
    <td><xsl:value-of select="ADDRESS"/></td> 
    <td><xsl:value-of select="PHONE"/></td> 
    <td><xsl:value-of select="EMAIL"/></td> 
</tr> 
</xsl:for-each>