XPath 예제
몇 가지 예를 보고 몇 가지 기본적인 XPath 구문을 배우도록 합시다.
XML 예제 문서
아래 예제에서는 다음 XML 문서를 사용합니다.
"books.xml":
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book category="cooking">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="children">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="web">
<title lang="en">XQuery Kick Start</title>
<author>James McGovern</author>
<author>Per Bothner</author>
<author>Kurt Cagle</author>
<author>James Linn</author>
<author>Vaidyanathan Nagarajan</author>
<year>2003</year>
<price>49.99</price>
</book>
<book category="web">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
XML 문서 로드
XMLHttpRequest 객체를 사용하여 XML 문서를 로드하는 것은 모든 최신 브라우저에서 지원됩니다.
var xmlhttp = new XMLHttpRequest();
이전 브라우저(IE5 및 IE6)용 코드는 AJAX 자습서에서 찾을 수 있습니다.
노드 선택
불행히도 다른 브라우저에서 XPath를 처리하는 다른 방법이 있습니다.
Chrome, Firefox, Edge, Opera 및 Safari는 평가() 메서드를 사용하여 노드를 선택합니다.
xmlDoc.evaluate(xpath, xmlDoc, null, XPathResult.ANY_TYPE,null);
Internet Explorer는 selectNodes() 메서드를 사용하여 노드를 선택합니다.
xmlDoc.selectNodes(xpath);
우리의 예에는 대부분의 주요 브라우저에서 작동해야 하는 코드가 포함되어 있습니다.
모든 제목 선택
다음 예에서는 모든 제목 노드를 선택합니다.
예시
/bookstore/book/title
첫 번째 책의 제목을 선택하십시오.
다음 예는 bookstore 요소 아래에 있는 첫 번째 book 노드의 제목을 선택합니다.
예시
/bookstore/book[1]/title
모든 가격 선택
다음 예에서는 모든 가격 노드에서 텍스트를 선택합니다.
예시
/bookstore/book/price[text()]
price>35인 가격 노드 선택
다음 예는 가격이 35보다 높은 모든 가격 노드를 선택합니다.
예시
/bookstore/book[price>35]/price
가격>35인 제목 노드 선택
다음 예는 가격이 35보다 높은 모든 제목 노드를 선택합니다.
예시
/bookstore/book[price>35]/title