XML DOMchildNodesプロパティ
❮要素オブジェクト
例1
次のコードフラグメントは、「books.xml」をxmlDocにロードし、「books.xml」の最初の<title>要素からテキストノードを取得します。
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
myFunction(this);
}
};
xhttp.open("GET", "books.xml", true);
xhttp.send();
function myFunction(xml) {
var xmlDoc = xml.responseXML;
var x =
xmlDoc.getElementsByTagName("title")[0];
var y =
x.childNodes[0];
document.getElementById("demo").innerHTML
=
y.nodeValue;
}
上記のコードの出力は次のようになります。
Everyday Italian
定義と使用法
childNodesプロパティは、選択したノードの子ノードを含むNodeListを返します
選択したノードに子がない場合、このプロパティはノードを含まないNodeListを返します。
構文
elementNode.childNodes
ヒントと注意
ヒント: childNodesリストをループするには、親オブジェクトのchildNodesリストを明示的に使用するよりもnextSiblingプロパティを使用する方が効率的です。
例
次のコードフラグメントは、「books.xml」をxmlDocにロードし、「books.xml」の最初の<book>要素から子ノードの数を取得します。
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
myFunction(this);
}
};
xhttp.open("GET", "books.xml", true);
xhttp.send();
function myFunction(xml) {
var xmlDoc = xml.responseXML;
var x =
xmlDoc.getElementsByTagName("book")[0].childNodes;
document.getElementById("demo").innerHTML =
x.length;
}
上記のコードの出力は次のようになります。
9
IE9以前では、上記のコードの出力は次のようになります。
4
Firefoxやその他のほとんどのブラウザは、空の空白や新しい行をテキストノードとして扱いますが、InternetExplorerは扱いません。したがって、上記の例では、出力が異なります。
ブラウザ間の違いの詳細については、 XMLDOMチュートリアルのDOMブラウザの章をご覧ください。
❮要素オブジェクト