目前,我有一个变量,用于检查XML中的节点是否为true / false
<xsl:variable name="bVariable" select="nodename[@elementname = 'true']"/>
我将使用不同的XML,可能有也可能没有该节点。如果它没有节点,我希望bVariable是假的。如果确实如此,我希望它与上面的方式完全相同(并根据elementname的值返回true / false)。
谢谢!
答案 0 :(得分:0)
您必须检查节点是否存在。如果它存在,变量将具有您在上面解释的选择选项 - 否则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示例!
此致 彼得