すべてのノードの名前とその値を xml に挿入したいと考えています。私が抱えている問題は、最初の子ノードの 1 つに値が割り当てられていないことですが、値を持つ子ノードがあります。ワイルドカードのみを使用すると、値が割り当てられていないものを含む、そのレベルのすべての子ノードが選択されます。ワイルドカードを使用して、子ノード自体を持たない子ノードのみを選択する方法はありますか?
8866 次
1 に答える
22
述語[not(node())]
は、子ノードを持たないすべてのノードで true ですが、これにはテキスト ノードとコメント ノードが含まれます。おそらく、要素の子[not(*)]
を持たないノードだけが true である必要があります。
<xsl:for-each select="//*[not(*)]">
<xsl:value-of select="concat(' ',name(),': ',."/>
</xsl:for-each>
したがって、要素の子を持たないすべてのリーフ要素を反復処理し、要素名とコンテンツを出力します
于 2013-06-10T20:05:09.163 に答える