【问题标题】:XSLT If condition HelpXSLT If 条件帮助
【发布时间】: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


    【解决方案1】:

    最简单的办法就是写

        <td bgcolor="#F2F5A9">
            <xsl:value-of select="Build[. != 0]" />
        </td>
    

    【讨论】:

      【解决方案2】:

      正确的做法也是(片段):

        <td bgcolor="#F2F5A9">
          <xsl:if test="Build[text()!='0']">
            <xsl:value-of select="Build" />
          </xsl:if>
        </td>
      

      【讨论】:

      • 实际上我仍然希望打印该行,如果您知道什么意思,我只想在单元格中看到一个空白单元格而不是 0。
      • 好的,我已更改为显示一个空白单元格。 @Michael-Kay 片段也应该可以正常工作。那有什么问题呢?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-08
      • 1970-01-01
      • 1970-01-01
      • 2022-08-21
      • 2011-10-03
      • 2020-04-03
      • 2011-02-20
      相关资源
      最近更新 更多