XPath 치트 시트

기본

XPath설명
//element지정된 이름을 가진 모든 요소를 선택합니다.
/element루트 요소를 선택합니다.
element/child현재 요소의 모든 자식 요소를 선택합니다.
//element[@attribute='value']지정된 속성 및 값을 가진 모든 요소를 선택합니다.
//element[position()=1]첫 번째 요소를 선택합니다.
//element[last()]마지막 요소를 선택합니다.
//element[contains(text(), 'text')]지정된 텍스트를 포함하는 요소를 선택합니다.
//element[starts-with(@attribute, 'prefix')]속성 값이 지정된 접두사로 시작하는 요소를 선택합니다.
//element[ends-with(@attribute, 'suffix')]속성 값이 지정된 접미사로 끝나는 요소를 선택합니다.
//element[not(@attribute)]지정된 속성을 가지고 있지 않은 요소를 선택합니다.
//element[count(child::*) > 0]자식 요소를 가지고 있는 요소를 선택합니다.
//element[count(child::*) = 0]자식 요소를 가지고 있지 않은 요소를 선택합니다.
//element[preceding-sibling::sibling]현재 요소의 모든 선행 형제 요소를 선택합니다.
//element[following-sibling::sibling]현재 요소의 모든 후행 형제 요소를 선택합니다.
//element[ancestor::ancestor]현재 요소의 모든 조상 요소를 선택합니다.
//element[descendant::descendant]현재 요소의 모든 자손 요소를 선택합니다.
//element[namespace::namespace]현재 요소의 모든 네임스페이스 노드를 선택합니다.
//element[attribute::attribute]현재 요소의 모든 속성 노드를 선택합니다.
//element[self::element]현재 요소를 선택합니다.
//element[parent::parent]현재 요소의 부모를 선택합니다.
//element[child::child]현재 요소의 자식을 선택합니다.
//element[text()]텍스트 노드를 선택합니다.
//comment()주석 노드를 선택합니다.
//processing-instruction()처리 명령 노드를 선택합니다.
//node()모든 노드를 선택합니다.

연산자

Operator설명
+덧셈
-뺄셈
*곱셈
div나눗셈
mod나머지
=같음
!=같지 않음
<작음
<=작거나 같음
>
>=크거나 같음
and논리 AND
or논리 OR
``

함수

함수설명
last()마지막 요소의 인덱스를 반환합니다.
position()현재 요소의 인덱스를 반환합니다.
count(node-set)노드 집합의 노드 수를 반환합니다.
id(id)ID로 요소를 선택합니다.
local-name(node-set)노드 집합의 첫 번째 노드 이름의 로컬 부분을 반환합니다.
namespace-uri(node-set)노드 집합의 첫 번째 노드의 네임스페이스 URI를 반환합니다.
name(node-set)노드 집합의 첫 번째 노드의 정규화된 이름을 반환합니다.
string(object)객체를 문자열로 변환합니다.
concat(string1, string2, ...)문자열을 연결합니다.
starts-with(string1, string2)string1이 string2로 시작하는지 확인합니다.
contains(string1, string2)string1이 string2를 포함하는지 확인합니다.
substring-before(string1, string2)string1에서 string2 이전 부분을 반환합니다.
substring-after(string1, string2)string1에서 string2 이후 부분을 반환합니다.
substring(string, start, length)부분 문자열을 반환합니다.
string-length(string)문자열의 길이를 반환합니다.
normalize-space(string)문자열의 공백을 정규화합니다.
translate(string, from, to)문자열의 문자를 바꿉니다.
boolean(object)객체를 부울로 변환합니다.
not(boolean)논리 NOT.
true()true를 반환합니다.
false()false를 반환합니다.
number(object)객체를 숫자로 변환합니다.
sum(node-set)노드 집합에 있는 숫자의 합계를 반환합니다.
floor(number)숫자보다 작거나 같은 가장 큰 정수를 반환합니다.
ceiling(number)숫자보다 크거나 같은 가장 작은 정수를 반환합니다.
round(number)숫자를 가장 가까운 정수로 반올림합니다.