varxhttp=newXMLHttpRequest();xhttp.onreadystatechange=function(){if (this.readyState==4&&this.status==200){showResult(xhttp.responseXML);}};xhttp.open("GET","books.xml",true);xhttp.send();functionshowResult(xml){vartxt="";varpath="/bookstore/book/title";// 표준 브라우저 (Chrome, Firefox, Safari 등)if (xml.evaluate){varnodes=xml.evaluate(path,xml,null,XPathResult.ANY_TYPE,null);varresult=nodes.iterateNext();while (result){txt+=result.childNodes[0].nodeValue+"<br>";result=nodes.iterateNext();}}// Internet Explorer 지원 (레거시)elseif (window.ActiveXObject||xhttp.responseType=="msxml-document"){xml.setProperty("SelectionLanguage","XPath");varnodes=xml.selectNodes(path);for (vari=0;i<nodes.length;i++){txt+=nodes[i].childNodes[0].nodeValue+"<br>";}}document.getElementById("demo").innerHTML=txt;}
XPathResult 타입
document.evaluate() 메서드에서 사용할 수 있는 결과 타입:
타입
설명
ANY_TYPE
자동으로 적절한 타입 반환
NUMBER_TYPE
숫자 값 반환
STRING_TYPE
문자열 값 반환
BOOLEAN_TYPE
불리언 값 반환
ORDERED_NODE_ITERATOR_TYPE
순서대로 노드 반복
UNORDERED_NODE_ITERATOR_TYPE
순서 무관 노드 반복
ORDERED_NODE_SNAPSHOT_TYPE
순서대로 노드 스냅샷
UNORDERED_NODE_SNAPSHOT_TYPE
순서 무관 노드 스냅샷
FIRST_ORDERED_NODE_TYPE
첫 번째 노드만 반환
실전 예제
예시 XML
<?xml version="1.0" encoding="UTF-8"?><bookstore><bookcategory="cooking"><titlelang="en">Italian Cooking</title><author>Giada De Laurentiis</author><price>30.00</price></book><bookcategory="programming"><titlelang="en">Learning XML</title><author>Erik T. Ray</author><price>39.95</price></book></bookstore>
Top comments (0)