Latest web development tutorials

XPath를 구문

XPath는 XML 문서의 노드 또는 노드 세트를 선택하는 경로 식을 사용합니다. 경로 (경로) 또는 단계 (단계)를 따라 노드에 의해 선택된.


XML 인스턴스 문서

우리는 아래의 예에서,이 XML 문서를 사용한다.

<?xml version="1.0" encoding="ISO-8859-1"?>

<bookstore>

<book>
<title lang="eng">Harry Potter</title>
<price>29.99</price>
</book>

<book>
<title lang="eng">Learning XML</title>
<price>39.95</price>
</book>

</bookstore>


선택 노드

XPath는 XML 문서의 노드를 선택하기 위해 경로 표현을 사용한다. 또는 노드를 통해 경로를 따라 단계를 선택합니다. 아래 목록은 가장 유용한 경로 식이다 :

기술
노드 이름 이 노드의 모든 자식 노드를 선택합니다.
/ 루트 노드에서 선택합니다.
// 위치에 상관없이, 현재 노드 선택 일치하는 노드에서 문서를 선택합니다.
. 현재 노드를 선택합니다.
.. 현재 노드의 부모를 선택합니다.
@ 속성을 선택합니다.

아래 표에서, 우리는 경로 식 및 식의 결과들을 나열 하였다 :

경로 식 결과
서점 서점 요소의 모든 자식 노드를 선택합니다.
/ 서점

루트 요소 서점을 선택합니다.

참고 : 경로는 슬래시 (/)로 시작하는 경우, 경로는 항상 요소의 절대 경로의 대표입니다!

서점 / 책 서점에있는 모든 책 요소를 속하는 하위 요소를 선택합니다.
// 예약 에 관계없이 문서에서의 위치의 모든 책 하위 요소를 선택합니다.
서점 // 책 아무리 그들이 및 서점에서 어떤 위치, 서점 요소의 자손에 속한없는 모든 책 요소를 선택합니다.
// @ 랭 랭이라는 이름의 모든 속성을 선택합니다.


술어 (술어)

술어는 특정 노드 또는 특정 값을 포함하는 노드를 검색하는 데 사용된다.

술어는 대괄호에 포함된다.

아래 표에서, 우리는 조건 몇 가지 경로 식 및 식의 결과를 나열했습니다 :

경로 식 결과
/ 서점 / 책 [1] 서점 첫 번째 책 요소를 속하는 하위 요소를 선택합니다.
/ 서점 / 책 [마지막 ()] 서점 마지막 책의 요소를 속하는 하위 요소를 선택합니다.
/ 서점 / 책 [마지막 () - 1] 상호 서점 두 번째 책 요소에 속하는 하위 요소를 선택합니다.
/ 서점 / 책 [위치 () <3] 하위 요소에 속하는 서점 소자의 처음 두 책 요소를 선택한다.
// 제목 [@lang] 랭라는 이름의 모든 속성을 선택하면 제목 요소를 가지고있다.
// 제목 [LANG = 'ENG'@] 모든 제목 요소를 선택하고 이들 요소는 값 ENG lang 속성이 있습니다.
/bookstore/book[price>35.00] 모든 서점 소자의 책 요소 및 35.00보다 커야 가격 요소의 값을 선택한다.
/bookstore/book[price>35.00]/title 서점 소자의 책의 모든 요소 표제 요소를 선택하고, 상기 가격 요소의 값은 35.00보다 커야한다.


알 수없는 노드를 선택

와일드 카드의 XPath 알 XML 요소를 선택하는 데 사용될 수있다.

와일드 카드 기술
* 모든 요소 노드와 일치합니다.
@ * 어떤 속성 노드를 찾습니다.
노드 () 노드의 모든 유형을 일치합니다.

아래 표에서 우리는 몇 가지 경로 표현뿐만 아니라, 이러한 식의 결과를 나열했습니다 :

경로 식 결과
/ 서점 / * 모든 자식 요소의 서점 요소를 선택합니다.
// * 문서의 모든 요소를 ​​선택합니다.
// 제목 [@ *] 제목 속성을 가진 모든 요소를 ​​선택합니다.


여러 경로를 선택

"|"경로 식을 사용하여 연산자, 여러 경로를 선택할 수있다.

아래 표에서 우리는 몇 가지 경로 표현뿐만 아니라, 이러한 식의 결과를 나열했습니다 :

경로 식 결과
// 도서 / 제목 | // 책 / 가격 책 제목 모든 요소 가격 요소를 선택한다.
// 제목 | // 가격 제목과 가격 요소의 모든 문서를 선택합니다.
/ 서점 / 책 / 제목 | // 가격 선택 예약 서점 소자 모든 타이틀 엘리먼트에 속하는 요소 및 모든 가격 요소를 기록.