Xml XSLT XSL:if测试未捕获空节点

Xml XSLT XSL:if测试未捕获空节点,xml,xslt,Xml,Xslt,My XML具有预期的空节点: 此节点是通过对MySQL的db查询创建的 在我的XSLT中,我尝试过: <xsl:if test="*/DBQuery/Record/POPUP_TEXT != '' "> <xsl:if test="count(*/DBQuery/Record/POPUP_TEXT[text()]) &gt; 0"> <xsl:if test="string(*/DBQuery/Record/POPUP_TEXT)"> 它们都不

My XML具有预期的空节点: 此节点是通过对MySQL的db查询创建的

在我的XSLT中,我尝试过:

<xsl:if test="*/DBQuery/Record/POPUP_TEXT != '' ">
<xsl:if test="count(*/DBQuery/Record/POPUP_TEXT[text()]) &gt; 0">
<xsl:if test="string(*/DBQuery/Record/POPUP_TEXT)">


它们都不起作用。XSLT测试节点并始终返回true并在块中呈现HTML,或者始终返回false。

已解决:我将
添加到XSL文件的顶部,就在样式表声明的正下方。这表明空节点实际上不是空的,而是包含一个纯空白文本节点
xsl:strip space
确实会从输入XML中删除任何仅空白的节点,但作为替代,您也可以使用表达式
Solved:I将
添加到xsl文件的顶部,就在样式表声明的正下方。这表明您的空节点实际上不是空的,但包含一个仅限空白的文本节点
xsl:strip space
确实会从输入XML中删除任何仅空白的节点,但作为替代方法,您也可以使用表达式