XML 파서
모든 주요 브라우저에는 XML에 액세스하고 XML을 조작하기 위한 내장 XML 파서가 있습니다.
XML 파서
XML DOM(Document Object Model) 은 XML에 액세스하고 편집하기 위한 속성과 메서드를 정의합니다.
그러나 XML 문서에 액세스하려면 먼저 XML DOM 개체에 로드해야 합니다.
모든 최신 브라우저에는 텍스트를 XML DOM 개체로 변환할 수 있는 내장 XML 파서가 있습니다.
텍스트 문자열 구문 분석
이 예에서는 텍스트 문자열을 XML DOM 개체로 구문 분석하고 JavaScript를 사용하여 해당 개체에서 정보를 추출합니다.
예시
<html>
<body>
<p id="demo"></p>
<script>
var text, parser, xmlDoc;
text = "<bookstore><book>" +
"<title>Everyday Italian</title>" +
"<author>Giada De Laurentiis</author>" +
"<year>2005</year>" +
"</book></bookstore>";
parser = new DOMParser();
xmlDoc = parser.parseFromString(text,"text/xml");
document.getElementById("demo").innerHTML =
xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;
</script>
</body>
</html>
예시 설명
텍스트 문자열이 정의됩니다.
text = "<bookstore><book>" +
"<title>Everyday Italian</title>" +
"<author>Giada De Laurentiis</author>" +
"<year>2005</year>" +
"</book></bookstore>";
XML DOM 파서가 생성됩니다.
parser = new DOMParser();
파서는 텍스트 문자열을 사용하여 새 XML DOM 객체를 생성합니다.
xmlDoc = parser.parseFromString(text,"text/xml");
Internet Explorer의 이전 버전
Internet Explorer의 이전 버전(IE5, IE6, IE7, IE8)은 DOMParser 개체를 지원하지 않습니다.
이전 버전의 Internet Explorer를 처리하려면 브라우저가 DOMParser 개체를 지원하는지 확인하거나 ActiveXObject를 생성하십시오.
예시
if (window.DOMParser) {
// code for modern browsers
parser = new DOMParser();
xmlDoc = parser.parseFromString(text,"text/xml");
}
else {
// code for old IE browsers
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.loadXML(text);
}
XMLHttpRequest 객체
XMLHttpRequest 객체 에는 XML 파서가 내장되어 있습니다.
responseText 속성은 응답을 문자열로 반환합니다 .
responseXML 속성 은 응답을 XML DOM 개체로 반환합니다.
응답을 XML DOM 객체로 사용하려면 responseXML 속성을 사용할 수 있습니다.
예시
cd_catalog.xml 파일을 요청하고 응답을 XML DOM 개체로 사용합니다.
xmlDoc = xmlhttp.responseXML;
txt = "";
x = xmlDoc.getElementsByTagName("ARTIST");
for (i = 0; i < x.length; i++) {
txt += x[i].childNodes[0].nodeValue + "<br>";
}
document.getElementById("demo").innerHTML = txt;