使用XSLT和XML的动态表行

时间:2018-08-30 23:57:19

标签: xml xslt

我对XSLT和XML非常陌生。我正在尝试根据一个XML文件返回的CASES数来创建一个动态列表。

关于CASES的XML部分如下所示:

...
<CASES>
    <CASE>000000000000014-00001</CASE>
    <CASE>000000000000014-00002</CASE>
    <CASE>000000000000014-00003</CASE>
</CASES>
...

我正在创建的表的XSLT代码(节选)如下:

...
CASES:
<table style="width: 100%;">
<xsl:for-each select="CASES/CASE">
    <tr>
        <td><xsl:value-of select="CASE"/></td>
    </tr>
</xsl:for-each>
</table>
...

输出是三个空白表行。你能告诉我我在做什么错吗?

1 个答案:

答案 0 :(得分:1)

由于您的xsl:for-each循环已经选择了CASE个元素,所以

<xsl:for-each select="CASES/CASE">

您的xsl:value-of不应该

    <td><xsl:value-of select="CASE"/></td>

因为它正在寻找当前CASE元素的CASE子元素。

相反,在循环内只需选择当前元素本身即可,.可用:

    <td><xsl:value-of select="."/></td>