以前一切都很好。然后,当我将样式引用添加到我的xml时,我得到的是大多数浏览器中的空白页面。虽然在Firefox中我得到一个错误,上面写着:“XML解析错误:格式不正确”,它指向我的第二个tr标记的第16行。当我在Coda的预览工具中查看它时,我可以看到我的表头和h1,但没有数据显示出来。这是一个非常简单的文件。它的格式与w3c HERE上的示例完全相同。我已经尝试过这里的其他解决方案,但它们似乎都无法解决我的问题。我也尝试了各种标题组合,都没有运气。我非常感谢你的帮助。感谢
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>
THE 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 :(得分: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>
答案 1 :(得分:0)
看起来Google Chrome浏览器不允许查看本地xml文件。其他浏览器工作正常。