这是我的XML(存储在表格列中)
<?xml version="1.0" encoding="UTF-8" standalone="no"?><report rep_name="test" rep_id="1" rep_link="www.report1.com"> </report>
我的xsl类似于代码部分
<xsl:stylesheet version="1.0">
<xsl:template match="/">
<html>
<body>
<xsl:for-each select="/report">
<table>
<tr>
<td>Name: </td>
<td> <xsl:value-of select='@rep_name"/> </td>
</tr>
<tr>
<td>ID: </td>
<td> <xsl:value-of select='@rep_id"/> </td>
</tr>
<xsl:choose>
<xsl:when test="@rep_link!='NA'">
<tr>
<td>Link: </td>
<td> <xsl:value-of select='@rep_link"/> </td>
</tr>
</xsl:when>
</xsl:choose>
</table>
</xsl:for-each>
</body>
</html>
</xsl:tempalte>
</xsl:stylesheet>
当前解析并显示值的,
名称:测试
ID:1
链接:www.report1.com
现在需要的是可能有更多的链接属性流入,我必须循环处理它。
<?xml version="1.0" encoding="UTF-8" standalone="no"?><report rep_name="test" rep_id="1" rep_link="www.report1.com" rep_link="www.report2.com" rep_link="www.report3.com"> </report>
在上面的xsl中,如果我只想循环“链接”属性,我尝试按如下所示添加for-each循环,但是它不起作用,
<xsl:choose>
<xsl:when test="@rep_link!='NA'">
<xsl:for-each select ="rep_link">
<tr>
<td>Link: </td>
<td> <xsl:value-of select='@rep_link"/> </td>
</tr>
</xsl:for-each>
</xsl:when>
</xsl:choose>
输出应该是这样的,
名称:测试
ID:1
链接:www.report1.com
链接:www.report2.com
链接:www.report3.com
我当前的XSL版本与当前的XML值配合正常。当我对循环进行更改时,由于出了点问题,整个显示只是空白页。
请帮助!
我尝试引入for-each循环,但是它不起作用。