我是否可以测试像这样的空节点?
<Address>
<Street></Street>
<Building></Building>
<Postcode></Postcode>
<Town></Town>
<State></State>
<Country></Country>
</Address>
答案 0 :(得分:0)
您可以通过以下方法测试节点及其子节点是否为空:
<xsl:if test="normalize-space(.)=''">All nodes empty: true
</xsl:if>
或者,您可以通过以下方法测试其是否为空节点:
<xsl:if test="normalize-space(*)=''">Contains an empty node: true
</xsl:if>
针对您的输入XML运行此样式表时:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output omit-xml-declaration="yes"/>
<xsl:template match="Address">
<xsl:if test="normalize-space(.)=''">All nodes empty: true
</xsl:if>
<xsl:if test="normalize-space(*)=''">Contains an empty node: true
</xsl:if>
</xsl:template>
</xsl:stylesheet>
它将产生:
All nodes empty: true
Contains an empty node: true
在action中查看。