XML DOM firstChild 속성

정의와 사용법

firstChild 속성은 선택된 노드의 첫 번째 자식 노드를 반환합니다.

선택된 노드가 자식 노드가 없으면 이 속성은 NULL을 반환합니다.

문법:

elementNode.firstChild

가이드와 비고

비고:Internet Explorer는 노드 간에 생성된 공백 텍스트 노드(예: 엔터 문자)를 무시합니다. 반면 Mozilla는 이렇게 하지 않습니다. 따라서 아래 예제에서는 첫 번째 자식 노드의 노드 타입을 검사하는 함수를 사용합니다.

요소 노드의 노드 타입은 1입니다. 따라서 첫 번째 자식 노드가 요소 노드가 아니라면 다음 노드로 이동하고, 해당 노드가 요소 노드인지 확인합니다. 이 과정은 첫 번째 자식 노드를 찾을 때까지 지속됩니다. 이 방법은 Internet Explorer와 Mozilla에서 모두 올바른 결과를 얻을 수 있도록 합니다.

IE와 Mozilla 브라우저의 차이에 대해 더 많은 내용을 알고 싶다면, CodeW3C.com의 XML DOM 강의를 방문하세요 DOM 브라우저 이 장.

예제

모든 예제에서 우리는 XML 파일을 사용할 것입니다 books.xml또한 JavaScript 함수 loadXMLDoc()

아래 코드 부분은 "books.xml"에서 첫 번째 자식 노드를 가져옵니다:

// 첫 번째 노드가 요소 노드인지 확인합니다
function get_firstchild(n)
{
var x =n.firstChild;
while (x.nodeType != 1)
  {
  x=x.nextSibling;
  }
return x;
}
xmlDoc=loadXMLDoc("books.xml");
var x=xmlDoc.documentElement;
var firstNode=get_firstchild(x);
for (var i=0;i<firstNode.childNodes.length;i++)
{ 
  if (firstNode.childNodes[i].nodeType==1)
  { 
  //에lemen트 노드 만 처리합니다
  document.write(firstNode.childNodes[i].nodeName);
  document.write(" = ");
  document.write(firstNode.childNodes[i].childNodes[0].nodeValue);
  document.write("<br />");
  } 
}

위 코드의 출력:

title = Everyday Italian
author = Giada De Laurentiis
year = 2005
price = 30.00