XML DOM 노드 값 가져오기

nodeValue 속성은 노드의 텍스트 값을 가져옵니다。

getAttribute() 메서드는 속성 값을 반환합니다。

예제

아래의 예제는 XML 파일을 사용합니다: books.xml

함수 loadXMLDoc()외부 JavaScript에 위치하고 있으며, XML 파일을 로드하는 데 사용됩니다。

요소 값을 가져오기
이 예제에서는 getElementsByTagname()을 사용하여 "books.xml"에서 첫 번째 <title> 요소를 가져옵니다。
속성 값을 가져오기
이 예제에서는 getAttribute() 메서드를 사용하여 "books.xml"에서 첫 번째 <title> 요소의 "lang" 속성 값을 가져옵니다。

요소 값을 가져오기

DOM에서 각 요소는 노드입니다. 요소 노드는 텍스트 값을 가지지 않습니다。

요소 노드의 텍스트는 자식 노드에 저장됩니다. 이 노드는 텍스트 노드라고 합니다。

요소 텍스트를 가져오는 방법은 이 자식 노드(텍스트 노드)의 값을 가져오는 것입니다。

요소 값을 가져오기

getElementsByTagName() 메서드는 지정된 태그 이름을 가진 모든 요소의 노드 목록을 반환하며, 이 요소들은 원본 문서에서 등장하는 순서대로 정렬됩니다。

아래의 코드는 다음과 같이 사용됩니다: loadXMLDoc() "books.xml" xmlDoc에 로드하고 첫 번째 <title> 요소를 검색합니다:

xmlDoc=loadXMLDoc("books.xml");
x = xmlDoc.getElementsByTagName("title")[0];

childNodes 속성은 자식 노드 목록을 반환합니다.<title> 요소는 하나의 자식 노드만 가지고 있으며, 이는 텍스트 노드입니다。

아래의 코드는 <title> 요소의 텍스트 노드를 검색합니다:

x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];

nodeValue 속성은 텍스트 노드의 텍스트 값을 반환합니다:

x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];
txt = y.nodeValue;

결과: txt = "Harry Potter"

TIY

모든 <title> 요소를 순회합니다:TIY

속성 값을 가져오기

DOM에서 속성도 노드입니다. 요소 노드와 달리 속성 노드는 텍스트 값을 가집니다。

속성 값을 가져오는 방법은 그 텍스트 값을 가져오는 것입니다。

getAttribute() 메서드를 사용하거나 속성 노드의 nodeValue 속성을 사용하여 이 작업을 수행할 수 있습니다。

속성 값을 가져오기 - getAttribute()

getAttribute() 메서드는 속성 값을 반환합니다。

아래의 코드는 첫 번째 <title> 요소의 "lang" 속성의 텍스트 값을 검색합니다:

xmlDoc=loadXMLDoc("books.xml");
txt=xmlDoc.getElementsByTagName("title")[0].getAttribute("lang");

결과: txt = "en"

예제 설명:

  • 사용하여 loadXMLDoc() "books.xml" xmlDoc에 로드합니다
  • txt 변수를 첫 번째 title 요소의 "lang" 속성의 값을 설정합니다

TIY

모든 <book> 요소를 루프하고 그들의 "category" 속성을 가져옵니다:TIY

속성 값을 가져오기 - getAttributeNode()

getAttributeNode() 메서드는 속성 노드를 반환합니다.

아래 코드는 첫 번째 <title> 요소의 "lang" 속성의 텍스트 값을 검색합니다:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].getAttributeNode("lang");
txt=x.nodeValue;

결과: txt = "en"

예제 설명:

  • 사용하여 loadXMLDoc() "books.xml" xmlDoc에 로드합니다
  • 첫 번째 <title> 요소 노드의 "lang" 속성 노드를 가져옵니다
  • txt 변수를 속성 값으로 설정합니다

TIY

모든 <book> 요소를 루프하고 그들의 "category" 속성을 가져옵니다:TIY