XML DOM 노드 목록
노드 목록은 getElementsByTagName() 메서드와 childNodes 속성에 의해 반환됩니다.
직접 해보십시오 - 예
아래 예에서는 XML 파일 books.xml 을 사용합니다 .
에서 텍스트 가져오기 이 예제에서는 getElementsByTagName() 메서드를 사용하여 "books.xml"의 첫 번째 <title> 요소에서 텍스트를 가져옵니다.
이 예제에서는 노드 목록과 length 속성을 사용하여 "books.xml"의 모든 <title> 요소를 반복합니다.
의 속성 가져오기 이 예제에서는 속성 목록을 사용하여 "books.xml"의 첫 번째 <book> 요소에서 속성을 가져옵니다.
DOM 노드 목록
childNodes 또는 getElementsByTagName()과 같은 속성이나 메서드를 사용할 때 노드 목록 개체가 반환됩니다.
노드 목록 개체는 XML과 동일한 순서로 노드 목록을 나타냅니다.
노드 목록의 노드는 0부터 시작하는 인덱스 번호로 액세스됩니다.
다음 이미지는 " books.xml "에 있는 <title> 요소의 노드 목록을 나타냅니다.
"books.xml"이 xmlDoc 변수에 로드되었다고 가정합니다.
이 코드 조각은 "books.xml"에 있는 제목 요소의 노드 목록을 반환합니다.
x = xmlDoc.getElementsByTagName("title");
위의 문장을 실행한 후 x는 노드 목록 객체입니다.
다음 코드 조각은 노드 목록(x)의 첫 번째 <title> 요소에서 텍스트를 반환합니다.
예시
var txt = x[0].childNodes[0].nodeValue;
위 명령문 실행 후 txt = "Everyday Italian".
노드 목록 길이
노드 목록 개체는 자체적으로 최신 상태를 유지합니다. 요소가 삭제되거나 추가되면 목록이 자동으로 업데이트됩니다.
노드 목록의 길이 속성은 목록의 노드 수입니다.
이 코드 조각은 "books.xml"의 <title> 요소 수를 반환합니다.
x = xmlDoc.getElementsByTagName('title').length;
위의 문장을 실행한 후 x의 값은 4가 됩니다.
노드 목록의 길이는 목록의 모든 요소를 반복하는 데 사용할 수 있습니다.
이 코드 조각은 length 속성을 사용하여 <title> 요소 목록을 반복합니다.
예시
x = xmlDoc.getElementsByTagName('title');
xLen = x.length;
for (i = 0; i <xLen; i++) {
txt += x[i].childNodes[0].nodeValue) + " ";
}
산출:
Everyday Italian
Harry Potter
XQuery Kick Start
Learning XML
설명된 예:
- " books.xml "이 xmlDoc에 로드 되었다고 가정합니다.
- 모든 제목 요소의 노드 목록을 보유하도록 x 변수를 설정합니다.
- <title> 요소에서 텍스트 노드 값 수집
DOM 속성 목록(명명된 노드 맵)
요소 노드의 속성 속성은 속성 노드 목록을 반환합니다.
이를 명명된 노드 맵이라고 하며 메서드 및 속성의 몇 가지 차이점을 제외하고는 노드 목록과 유사합니다.
속성 목록은 최신 상태를 유지합니다. 속성이 삭제되거나 추가되면 목록이 자동으로 업데이트됩니다.
이 코드 조각은 "books.xml"의 첫 번째 <book> 요소에서 속성 노드 목록을 반환합니다.
x = xmlDoc.getElementsByTagName('book')[0].attributes;
위의 코드를 실행한 후 x.length =는 속성의 수이고 x.getNamedItem()은 속성 노드를 반환하는 데 사용할 수 있습니다.
이 코드 조각은 책의 "카테고리" 속성 값과 속성 수를 가져옵니다.
예시
x = xmlDoc.getElementsByTagName("book")[0].attributes;
txt = x.getNamedItem("category").nodeValue + " " + x.length;
산출:
cooking
1
설명된 예:
- " books.xml "이 xmlDoc에 로드 되었다고 가정합니다.
- 첫 번째 <book> 요소의 모든 속성 목록을 보유하도록 x 변수를 설정합니다.
- "카테고리" 속성의 값과 속성 목록의 길이를 가져옵니다.