XML DOM 노드 값 가져오기
nodeValue 속성은 노드의 텍스트 값을 가져오는 데 사용됩니다.
getAttribute() 메서드는 속성 값을 반환합니다.
요소 값 가져오기
DOM에서 모든 것은 노드입니다. 요소 노드에는 텍스트 값이 없습니다.
요소 노드의 텍스트 값은 자식 노드에 저장됩니다. 이 노드를 텍스트 노드라고 합니다.
요소의 텍스트 값을 검색하려면 요소의 텍스트 노드 값을 검색해야 합니다.
getElementsByTagName 메소드
getElementsByTagName() 메서드는 소스 문서에 나타나는 것과 동일한 순서로 지정된 태그 이름을 사용하여 모든 요소 의 노드 목록을 반환합니다.
" books.xml "이 xmlDoc에 로드되었다고 가정 합니다.
이 코드는 첫 번째 <title> 요소를 검색합니다.
var x = xmlDoc.getElementsByTagName("title")[0];
ChildNodes 속성
childNodes 속성은 요소 의 자식 노드 목록을 반환합니다 .
다음 코드는 첫 번째 <title> 요소의 텍스트 노드를 검색합니다.
x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];
nodeValue 속성
nodeValue 속성은 텍스트 노드의 텍스트 값을 반환 합니다 .
다음 코드는 첫 번째 <title> 요소의 텍스트 노드의 텍스트 값을 검색합니다.
예시
x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];
z = y.nodeValue;
z의 결과: "매일 이탈리아어"
완전한 예
예시
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
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;
}
</script>
</body>
</html>
모든 <title> 요소 반복:
속성 값 가져오기
DOM에서 속성은 노드입니다. 요소 노드와 달리 속성 노드에는 텍스트 값이 있습니다.
속성 값을 가져오는 방법은 텍스트 값을 가져오는 것입니다.
이것은 getAttribute() 메서드를 사용하거나 속성 노드의 nodeValue 속성을 사용하여 수행할 수 있습니다.
속성 값 가져오기 - getAttribute()
getAttribute() 메서드는 속성 의 값 을 반환합니다 .
다음 코드는 첫 번째 <title> 요소의 "lang" 속성의 텍스트 값을 검색합니다.
예시
x = xmlDoc.getElementsByTagName("title")[0];
txt = x.getAttribute("lang");
txt의 결과: "en"
모든 <book> 요소를 반복하고 "카테고리" 속성을 가져옵니다.
속성 값 가져오기 - getAttributeNode()
getAttributeNode() 메서드는 속성 노드 를 반환합니다 .
다음 코드는 첫 번째 <title> 요소의 "lang" 속성의 텍스트 값을 검색합니다.
예시
x = xmlDoc.getElementsByTagName("title")[0];
y = x.getAttributeNode("lang");
txt = y.nodeValue;
txt = "en"의 결과
모든 <book> 요소를 반복하고 "카테고리" 속성을 가져옵니다.