<node>
<node1><node11/></node1>
<node2/>
</node>
Run Code Online (Sandbox Code Playgroud)
我想要我的XSLT检查
<xsl:if test="If at least 1 child node exists">
Only node1 can pass the if condition
</xsl:if>
Run Code Online (Sandbox Code Playgroud)
谢谢你的回复.
Tim*_*m C 26
首先,请在此处注意您的术语.你的意思是"节点"或者你的意思是"元素".节点可以是元素,注释,文本或处理指令.
无论如何,如果你在这里指的是元素,要检查至少存在一个子元素,你可以这样做(假设你在这种情况下定位在节点元素上).
<xsl:if test="*">
Run Code Online (Sandbox Code Playgroud)
您的评论建议只有"node1"可以传递if条件,因此要检查特定元素是否存在,请执行此操作
<xsl:if test="node1">
Run Code Online (Sandbox Code Playgroud)
在您正在测试的节点的上下文中,这应该用于测试节点是否具有子元素:
<xsl:if test="*">
Only node1 can pass the if condition
</xsl:if>
Run Code Online (Sandbox Code Playgroud)
如果你实际上是指节点(包括文本节点),那么这将包括文本节点:
<xsl:if test="node()">
Only node1 can pass the if condition
</xsl:if>
Run Code Online (Sandbox Code Playgroud)
但是<node>也会通过这个测试(<node2>不会).我以为你只是在<node>孩子节点的背景下讲话,但也许不是?