我正在尝试一个简单的XML和XSL链接程序,但XML以完美的方式使用XSL。来自XML的数据未包含在表中。
文件成功显示表标题但未显示内容。这是从XSLT上的XML获取所有值的正确方法吗?
database.xml:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="style.xsl"?>
<Apple>
<prdt>
<name>iPhone</name>
<typ>Mobile Phone</typ>
<price>60,000</price>
</prdt>
<prdt>
<name>iPod</name>
<typ>Music Player</typ>
<price>60,000</price>
</prdt>
<prdt>
<name>iPad</name>
<typ>Tablet</typ>
<price>60,000</price>
</prdt>
<prdt>
<name>iTunes</name>
<typ>Software</typ>
<price>60,000</price>
</prdt>
</Apple>
style.xsl:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/WSL/Transform" version="1.0">
<xsl:template match="/">
<html>
<head>
<title>database.xml</title>
</head>
<body>
<center>
<table border="1">
<tr>
<th><h1>Device Name</h1></th>
<th><h1>Device Type</h1></th>
<th><h1>Price</h1></th>
</tr>
<xsl:for-each select="Apple/prdt">
<tr>
<td><h1><xsl:value-of select="name"/></h1></td>
<td><h1><xsl:value-of select="typ"/></h1></td>
<td><h1><xsl:value-of select="price"/></h1></td>
</tr>
</xsl:for-each>
</table>
</center>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
请帮帮我。
答案 0 :(得分:1)
您的XSL没问题,只是您的命名空间错误。取代
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/WSL/Transform" version="1.0">
与
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">