XPath?

XPath?

XPath(Xml Path Language)는 W3C의 표준으로 확장 생성 언어 문서의 구조를 통해 경로 위에 지정한 구문을 사용하여 항목을 배치하고 처리하는 방법을 기술하는 언어이다. XPath는 XML문서의 노드를 정의하기 위하여 경로식을 사용하며, 수학 함수와 기타 확장 가능한 표현들이 있다.


사용 예

1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
    <book>
      <title lang="en">Harry Potter</title>
      <price>29.99</price>
    </book>
    <book>
      <title lang="en">Learning XML</title>
      <price>39.95</price>
    </book>
</bookstore>



표현식의 종류

표현식 설명
nodename nodename을 가지는 모든 노드를 선택 bookstore
/ root노드부터 선택 /bookstore
// 현재 노드와 매치가 되는 모든 노드들을 선택 //book
. 현재 노드를 선택 .book
.. 현재 노드의 부모를 선택 ..book
@ 속성을 선택 @lang


위의 표현식들과 Predicates를 사용하여 아래와 같이 특정한 값을 가지는 노드를 선택할 수 있다.

표현식 결과
/bookstore/book[1] bookstore의 자식들 중 첫 번째 book을 선택
/bookstore/book[last()] bookstore의 자식들 중 마지막 book을 선택
/bookstore/book[last()-1] bookstore의 자식들 중 마지막-1의 book을 선택
/bookstore/book[position()<3] bookstore의 자식들 중 처음 두 book들을 선택
//title[@lang] 모든 title노드들 중 lang속성을 가지는 노드를 선택
//title[@lang=’en’] 모든 title노드들 중 lang속성을 가지고 그 값이 ‘en’인 노드를 선택
/bookstore/book[price>35.00] book들 중 price가 35.00 초과인 book들을 선택