【问题标题】:XSLT code returns empty rows when converting XML to HTML table将 XML 转换为 HTML 表时 XSLT 代码返回空行
【发布时间】:2017-11-28 06:15:40
【问题描述】:

我正在尝试使用 XSLT 1.0 将 XML 文档转换为 HTML。我的目标是在 HTML 表中显示 XML 行。但我的 XSLT 代码在 HTML 表中返回空行。这是我的 XML 的样子:

<?xml version="1.0" encoding="UTF-8"?>

<people>
    <person id="ABCDE1234" firstname="John" lastname="Lewis" sex="male"/>
    <person id="XYZWU6789" firstname="Marie" lastname="Claire" sex="female"/>
</people>

这是我的 XSLT 代码:

<?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>
    <head>
        <title>XML to HTML using XSLT</title>
    </head>

    <body>
    <table border="1" >
        <tr>
            <th>id</th>
            <th>firstname</th>
            <th>lastname</th>
            <th>sex</th>
        </tr>

        <xsl:for-each select="people/person">
        <tr>
            <td><xsl:value-of select="id"/></td>
            <td><xsl:value-of select="firstname"/></td>
            <td><xsl:value-of select="lastname"/></td>
            <td><xsl:value-of select="sex"/></td>
        </tr>
        </xsl:for-each>
    </table>
    </body>
</html>
</xsl:template>
</xsl:stylesheet>

但是,当我重新格式化 XML 文件时,我的 XSLT 代码可以正常运行,如下所示:

<?xml version="1.0" encoding="UTF-8"?>

<people>    
    <person>
        <id>ABCDE1234</id>
        <firstname>John</firstname>
        <lastname>Lewis</lastname>
        <sex>Male</sex>
    </person>

    <person>
        <id>XYZWU6789</id>
        <firstname>Mary</firstname>
        <lastname>Claire</lastname>
        <sex>Female</sex>
    </person>
</people>

为什么会这样?有什么想法吗?

【问题讨论】:

    标签: html xml xslt xslt-1.0


    【解决方案1】:

    只需添加@ 符号,以便将值识别为属性。

    <td><xsl:value-of select="@id"/></td>
    <td><xsl:value-of select="@firstname"/></td>
    <td><xsl:value-of select="@lastname"/></td>
    <td><xsl:value-of select="@sex"/></td>
    

    【讨论】:

    • 有效。谢谢:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-08
    • 2012-09-29
    • 2012-06-02
    • 2013-02-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多