XPath 테스터
온라인에서 XPath 표현식을 테스트하고 평가하여 즉각적인 결과 확인
매치 결과
결과 상세
빠른 템플릿
XPath 테스트 도구 문서
XPath 이해하기
XPath(XML Path Language)는 XML 및 HTML 문서에서 노드를 선택하기 위한 쿼리 언어입니다. 파일 시스템 경로와 유사하게 경로 표현식을 사용하여 문서 트리 구조의 요소와 속성을 탐색합니다.
절대 경로
/html/body/div
루트 노드에서 시작합니다. 문서의 정확한 구조를 알 때 사용합니다.
상대 경로
//div[@class='content']
문서 내 어디에서나 노드를 선택합니다. 더 유연하며 일반적으로 사용됩니다.
XPath 구문 참조
선택 표현식
| 표현식 | 설명 |
|---|---|
/ |
루트 노드에서 선택 (절대 경로) |
// |
현재 컨텍스트 아래 어디에서나 노드 선택 (상대 경로) |
. |
현재 노드 선택 |
.. |
현재 노드의 부모 선택 |
@ |
속성 선택 |
* |
모든 요소 노드에 매치 |
술어 (필터)
| 표현식 | 설명 |
|---|---|
[1] |
첫 번째 요소 선택 |
[last()] |
마지막 요소 선택 |
[@attr] |
지정된 속성을 가진 요소 선택 |
[@attr='val'] |
속성이 값과 같은 요소 선택 |
[position()<3] |
위치가 3 미만인 요소 선택 |
일반적인 함수
text()
노드의 텍스트 내용 선택
contains()
문자열이 부분 문자열을 포함하는지 확인
starts-with()
문자열이 접두사로 시작하는지 확인
normalize-space()
앞뒤 공백 제거
count()
노드 수 카운트
not()
조건이 거짓이면 참 반환
실용적인 XPath 예제
외부 링크 선택
//a[@href and contains(@class, 'external')]
href 속성이 있고 클래스에 'external'이 포함된 모든 앵커 요소를 찾습니다.
테이블 데이터 선택 (헤더 건너뛰기)
//table//tr[position() > 1]/td[1]
헤더 행을 제외한 각 테이블 행의 첫 번째 셀을 선택합니다.
보이는 텍스트 콘텐츠 추출
//*[not(self::script) and not(self::style)]//text()
script 및 style 요소 내부를 제외한 모든 텍스트 노드를 가져옵니다.
XPath 축
축은 문서 트리에서 현재 노드와 다른 노드 간의 관계를 정의합니다.
ancestor::
모든 조상 선택 (부모, 조부모 등)
descendant::
모든 자손 선택 (자식, 손자 등)
following-sibling::
현재 노드 이후의 모든 형제 선택
preceding-sibling::
현재 노드 이전의 모든 형제 선택
child::
현재 노드의 모든 자식 선택
parent::
현재 노드의 부모 선택