【发布时间】:2011-05-24 09:08:44
【问题描述】:
我有一个 XML 和 XSLT。我想使用 if 条件来检查元素是否为 0,如果是则隐藏它,即不显示任何内容。如果找到 0,只需显示一个空白单元格。
这是基本概念:
XML
<Sheet1>
<Build>0</Build>
<Item>X</Item>
<T1>0:06:00</T1>
<T2>0:14:15</T2>
<T3>0:07:22</T3>
</Sheet1>
XSLT
<table border="1">
<tr bgcolor="#dccdc">
<th align="center">Build</th>
<th align="center">Item</th>
<th align="center">T1</th>
<th align="center">T2</th>
<th align="center">T3</th>
</tr>
<xsl:for-each select="Sheet1">
<tr>
<td bgcolor="#F2F5A9">
<xsl:value-of select="Build" />
</td>
<td bgcolor="#F2F5A9">
<xsl:value-of select="Item" />
</td>
<td bgcolor="#F2F5A9">
<xsl:value-of select="T1" />
</td>
<td bgcolor="#F2F5A9">
<xsl:value-of select="T2" />
</td>
<td bgcolor="#F2F5A9">
<xsl:value-of select="T3" />
</td>
</tr>
</xsl:for-each>
</table>
我想要做的是当 Build element = 0 我希望它不打印任何内容,所以我尝试在 XSLT 中的项目周围放置一个 xsl:if:
<xsl:if test="Build!='0'">
<td bgcolor="#F2F5A9">
<xsl:value-of select="Build" />
</td>
</xsl:if>
但这似乎不起作用,我得到一个空白的输出文件。
有什么想法吗?
【问题讨论】:
标签: xml xslt dom if-statement