XML DOM childNodes 属性
定義と使用法
childNodes
属性は選択されたノードの子ノードを含む NodeList を返します。
選択されたノードに子ノードがない場合、この属性はノードを含まない NodeList を返します。
ヒント:childNodes リストをループ処理する場合は、parentObject の childNodes リストを明示的に使用するよりも nextSibling 属性を使用する方が効果的です。
構文
elementNode.childNodes
例
例 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; }
例 2
以下のコードは "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; }
Firefoxおよびほとんどの他のブラウザは、空白または改行をテキストノードとして処理しますが、Internet Explorerはしません。したがって、上記の例の出力は異なります。
ブラウザ間の差異に関する詳細な情報を取得するには、XML DOM 教程の DOM ブラウザセクションにアクセスしてください。