XPath 테스터
XML / HTML 입력
결과
기술적 세부 정보
XPath 테스터 작동 방식
도구가 하는 일
XPath 테스터는 XML 또는 HTML 문서에 대해 XPath 표현식을 평가하고, 소스에서 매칭된 노드를 하이라이트합니다. XML/HTML 문서를 붙여넣고 XPath 표현식을 입력하면, 매칭되는 모든 노드와 추출된 콘텐츠를 즉시 확인할 수 있습니다. 이는 웹 스크래핑, XSLT 변환, XML 데이터 추출에 사용되는 쿼리를 개발할 때 즉각적인 시각적 피드백을 제공합니다.
개발자들이 흔히 사용하는 사례
개발자는 웹 스크래핑 셀렉터(Scrapy, lxml) 구축, XSLT 변환 작성, SOAP/XML API 응답 쿼리, Maven POM 및 Android manifest 같은 설정 파일에서 데이터 추출을 할 때 XPath 테스터를 사용합니다. QA 엔지니어는 CSS 셀렉터로는 부족한 경우(예: 텍스트 콘텐츠로 선택하거나 상위로 탐색) XPath를 사용해 Selenium 로케이터를 개발합니다. DevOps 엔지니어는 XML 기반 빌드 및 배포 설정을 쿼리합니다.
데이터 형식, 타입 또는 변형
XPath는 위치 경로(//book/title), 조건절(//item[@price > 10]), 축(ancestor::, following-sibling::), 함수(contains(), starts-with(), normalize-space(), count()), 그리고 합집합 표현식(|)을 지원합니다. XPath 1.0은 노드 집합, 문자열, 숫자, 불리언을 반환합니다. XPath 2.0+는 시퀀스, 정규식, 날짜/시간 함수를 추가하지만, 브라우저 구현은 일반적으로 1.0을 지원합니다. 네임스페이스 접두사가 있는 요소는 올바른 매칭을 위해 네임스페이스 등록이 필요합니다.
흔한 함정과 엣지 케이스
가장 흔한 XPath 실수는 기본 네임스페이스를 잊는 것입니다. 네임스페이스에 속한 요소는 원본 문서에 접두사가 보이지 않더라도 접두사 없는 경로로는 매칭되지 않습니다. XML로 파싱된 HTML은 대소문자를 구분합니다(DIV ≠ div). 반면 HTML5 파서는 소문자로 정규화합니다. '//' 약어는 모든 하위 요소를 검색하며 큰 문서에서는 매우 느릴 수 있으므로, 구조를 알고 있다면 절대 경로를 사용하는 것이 좋습니다. 브라우저의 XPath 엔진은 정규식을 위한 matches() 같은 XPath 2.0 함수를 지원하지 않습니다.
코드 대신 이 도구를 사용해야 하는 경우
스크래핑 또는 변환 코드에 포함하기 전에, 샘플 문서에 대해 XPath 표현식을 빠르게 프로토타이핑하려면 이 브라우저 도구를 사용하세요. 프로덕션 환경의 XML 처리에는 XPath 2.0/3.0을 지원하고 네임스페이스를 올바르게 처리하며, 복잡한 문서 변환을 위해 XSLT 및 XQuery 파이프라인과 통합되는 전용 라이브러리(Python용 lxml, Java용 Saxon)를 사용하세요.