XML DOM childNodes 属性

定义和用法

childNodes 属性返回包含所选节点的子节点的 NodeList。

如果所选节点没有子节点,则此属性返回不包含节点的 NodeList。

提示:如需循环遍历 childNodes 列表,使用 nextSibling 属性比显式使用父对象的 childNodes 列表更有效。

语法

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 브라우저 장단점을 방문하십시오.