XML DOM 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;
}
위 코드의 출력은 다음과 같습니다.
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와 대부분의 다른 브라우저는 빈 공백이나 줄 바꿈을 텍스트 노드로 취급하지만 Internet Explorer는 그렇지 않습니다. 따라서 위의 예에서는 출력이 다릅니다.
브라우저 간의 차이점에 대해 자세히 알아보려면 XML DOM 자습서 의 DOM 브라우저 장을 방문하세요.
❮ 요소 개체