目前,我有一个变量来检查 XML 中的节点是否为真/假
<xsl:variable name="bVariable" select="nodename[@elementname = 'true']"/>
我将使用一个不同的 XML,它可能有也可能没有那个节点。如果它没有节点,我希望 bVariable 为假。如果是这样,我希望它的运行方式与上面的运行方式相同(并根据 elementname 的值返回 true/false)。
您必须检查节点是否存在。如果它存在,则变量将具有您上面解释的 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 示例!