私はAJAXを介してXMLストリームを取得して解析するjavascriptルーチンを持っています。 FFやChromeでは正常に動作しますが、IE 9では、ノード内に連続した改行があると、IEはそれらをスペースと1つの改行に圧縮します。IE 9はXML DOM内の空白を圧縮します
具体的には、retNodeがxmlノードの場合、retNode.textにはIEの圧縮された空白が含まれますが、FFとChromeのすべての文字が含まれます。
私はXMLを解析する独自のルーチンを作成しようとしましたが、これは壊れやすく時間が掛かりそうです。 PreserveWhitespaceプロパティを使用してみましたが、javascriptでは使用できないようです。 retNode.textの代わりにretNode.nodeValueを使ってみましたが、nodeValueに値がありませんでした。
私はjqueryを知らないので、jqueryを使用しないソリューションが好きですし、jqueryを動作させるために追加する必要があるコードが何であるかわかりません。
ありがとうございます!
空白を保持すると思われる場合は、 'CDATA'などを使用してください。このXMLソースを変更できますか? – Brad
一般的なケースでは、XMLにおける空白の扱いは、DTDやXSDのような文書の文法に依存します。私はこのエリアのブラウザの動作を調べて答えを得てから、それは長すぎるです。 – McDowell