それは可能だと思いますが、構文を理解できませんでした。このようなもの:
xmlNode.SelectNodes("//*[count(child::*) <= 1]")
しかし、これは正しくありません。
使用:
//node()[not(node())]
elementリーフノードのみが必要な場合(そしてこれには説明が必要です-非エレメントの子を持つエレメントはリーフノードと見なされますか?) XPath式はそれらを選択します。
//*[not(*)]
上記の両方の式はおそらく最短です目的のノード(任意のノードまたは要素-リーフノード)を選択します。
子要素のない要素
//*[not(child::*)]
なぜ1に等しいかまたは等しい?
xmlNode.SelectNodes("//*[count(child::*) = 0]")
このサイトでテストなどを行う http://www.whitebeam.org/library/guide/TechNotes/xpathtestbed.rhtm
かなり役に立ちました.
グーグルのフロントマッチにはそのような解決策がないようですので、私はこのXSLTの答えを追加しています:
CDATAをXMLとして抽出することに長い間苦労した後、結局、この表現は私にとって最もうまくいきました。
<xsl:template match="*[not(child::*)]/text()">