<![CDATA[test]]> 空白が表示されます。
var dataNode=Ext.DomQuery.selectNode('data',xml); console.log(dataNode.childNodes[0].nodeValue); console.log(dataNode.nodeValue);
解析中の XML がなければ確実なことは言えませんが、childNodes[0]
( firstChild
) から「空白を取得」する通常の理由は、親の開始タグと探しているノードの間に空白の Text ノードがあるためです。
<data>
<![CDATA[ foo ]]>
</data>
CDATA セクションを保持する XML パーサーでは、data
要素に 3 つの子が与えられます。改行といくつかのスペースを含む Text ノード。CDATASection ノード。改行を含む別の Text ノード。
だからあなたは取ることができますがchildNodes[1]
、それは少し壊れやすいです...特に、CDATAセクションをテキストに変換するXMLパーサーの場合foo
、すべての空白を含む単一のText子を取得します。おそらくtextContent
、要素の を取得する方が良いでしょう (もちろん、IE の<data>
フォールバックを除く)。innerText
.contents() を試して全体 (CDATA を含む) を返す - http://api.jquery.com/contents/