XML DOM ブラウザ間の違い
DOM パースでのブラウザ間の違い
最新の全ブラウザは、W3C DOM の利用をサポートしています。
しかし、ブラウザ間には多少の違いが有ります。最も重要な相違の1つは、次の点にあります:
DOM - 空白と改行
XMLには、たびたび改行とか空白文字がノードの間に含まれています。文書がノートパッドのような簡単なエディタで編集する時には、よくあるケースです。
次の(ノートパッドで編集した)例には、各行間にCR/LF(改行)と各子ノードの前には2つのスペースが含まれています:
<book>
<title>Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book> |
Internet Explorerは、他のブラウザとは異なり、空白や改行を空のテキストノードとしては取扱いません。
次のコードは(books.xmlの)ルート要素が子ノードを幾つ持っているかを表示します:
例
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.documentElement.childNodes;
document.write("Number of child nodes: " + x.length);
|
試してください »
|
例の説明:
- loadXMLDoc() を用い、xmlDoc に "books.xml" をロードします
- ルート要素の子ノードを取得します
- 子ノード数を出力します。 結果は、どのブラウザを使うかで異ってきます。IEは 4 を表示しますが、他は 9 を表示します。
|