-1

目前,我有一个变量来检查 XML 中的节点是否为真/假

<xsl:variable name="bVariable" select="nodename[@elementname = 'true']"/>

我将使用一个不同的 XML,它可能有也可能没有那个节点。如果它没有节点,我希望 bVariable 为假。如果是这样,我希望它的运行方式与上面的运行方式相同(并根据 elementname 的值返回 true/false)。

4

1 回答 1

0

您必须检查节点是否存在。如果它存在,则变量将具有您上面解释的 select 选项 - 否则select应该等于'false'

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">

<xsl:template match="/">
    <xsl:variable name="bVariable">
        <xsl:choose>
            <xsl:when test="not(nodename)">
                <xsl:value-of select="'false'"/>
            </xsl:when>
            <xsl:otherwise>
                <xsl:value-of select="nodename[@elementname = 'true']"/>            
            </xsl:otherwise>
        </xsl:choose>
    </xsl:variable>
    
</xsl:template>

</xsl:stylesheet>

但是请 - 为了真正给您一个答案,请给我们一个带有预期输出的源 XML 示例!

于 2013-03-15T21:21:10.373 回答