My Simple XML返回空数据

时间:2015-04-20 15:45:57

标签: xml xslt

我正在尝试一个简单的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>

请帮帮我。

1 个答案:

答案 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">