Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml XSLT:如何选择所有没有';没有子节点_Xml_Xslt_Xpath - Fatal编程技术网

Xml XSLT:如何选择所有没有';没有子节点

Xml XSLT:如何选择所有没有';没有子节点,xml,xslt,xpath,Xml,Xslt,Xpath,我想将所有节点的名称及其值插入到xml中。我遇到的问题是,第一个子节点之一没有为其指定任何值,但它确实有具有值的子节点。如果我只使用通配符,那么它只会选择该级别上的所有子节点,包括未指定值的子节点。有没有一种方法可以使用通配符只选择本身没有子节点的子节点?谓词[not(node())]适用于所有没有子节点但包括文本和注释节点的节点,也许您希望[not(*)]适用于那些没有元素子节点的节点 <xsl:for-each select="//*[not(*)]"> <xsl

我想将所有节点的名称及其值插入到xml中。我遇到的问题是,第一个子节点之一没有为其指定任何值,但它确实有具有值的子节点。如果我只使用通配符,那么它只会选择该级别上的所有子节点,包括未指定值的子节点。有没有一种方法可以使用通配符只选择本身没有子节点的子节点?

谓词
[not(node())]
适用于所有没有子节点但包括文本和注释节点的节点,也许您希望
[not(*)]
适用于那些没有元素子节点的节点

 <xsl:for-each select="//*[not(*)]">
    <xsl:value-of select="concat('&#10;',name(),': ',."/>
 </xsl:for-each>

因此,迭代所有没有元素子元素的叶元素,并打印元素名称和内容