Xpath

xpath

공부한 내용을 스스로 보기 쉽게 정리한 글입니다.

1. xpath란?

  • xpath = XML Path Language
  • XML 문서의 element나 attribute의 value에 접근하기 위한 언어
  • XML 문서를 해석하기 위한 언어이므로, 기본적으로 path expression 이 바탕이 되어있다.
  • 연산, 문자열 처리를 위한 라이브러리를 내장하고 있다.

2. Location Path

  • element 를 찾으러 가는 것이므로, location을 나타내기 위한 연산자는 다음과 같다.
  1. element_name : element_name 과 일치하는 모든 element를 선택한다.
  2. / :
    • 가장 처음 쓰는 /는 절대경로를 의미한다.
    • Path 중간에 쓰는 /는 조건에 맞는 바로 다음 하위 엘리먼트를 검색한다. (css selector에서 >와 같다)
  3. // : 가장 상위 엘리먼트
  4. . : 현재 엘리먼트
  5. * : 조건에 맞는 전체 하위 엘리먼트를 검색한다(css selector 에서 한칸 띄우는 것 과 같다)
  6. element[조건] : 엘리먼트에 조건에 해당되는 것을 검색한다
    • (예) p[2] : p 엘리먼트 중 두번째 엘리먼트를 선택 **주의:1부터 시작, 0이 아님 **
    • (예) [@(attribute_key="attribute_value")] : 속성값으로 엘리먼트를 선택
      [@id="main"] : “main” 이라는 id 를 선택
      [@class="pp"] : “pp” 라는 class 를 선택
  7. not(조건) : 조건이 아닌 엘리먼트를 찾는다.
  8. /text() : 해당 엘리먼트의 text 데이터를 가져온다
  9. /@attribute_name : 해당 엘리먼트의 attribute_name 에 할당된 value 값을 가져옴
    • /@href : 해당 엘리먼트의 href의 value 값을 가져옴