KO
내 도구

XPath 테스터(XML·HTML용 XPath 1.0)

브라우저에서 XML이나 HTML에 XPath 1.0 식을 시험합니다. 일치한 노드, 개수, 문자열, 숫자, 불리언을 보여 주며 네임스페이스 접두사도 지원합니다.

문서에 선언된 접두사(xmlns:p="…")는 자동으로 추가됩니다.
내 도구 →
광고

XPath는 //book[price > 10]/title 같은 경로 식으로 XML이나 HTML 문서의 일부를 선택합니다. 스크레이퍼, XSLT, Selenium·Playwright 로케이터, SOAP 클라이언트, 많은 설정 도구가 XPath에 의존하며, 오타가 있으면 아무것도 선택되지 않고 조용히 넘어갑니다. 문서를 붙여 넣고 식을 입력하면 브라우저 자체의 XPath 1.0 엔진으로 어떤 노드가 일치하는지, 또는 count() 같은 식이 돌려주는 숫자·문자열·불리언을 정확히 볼 수 있습니다.

사용 방법

  1. XML이나 HTML을 붙여 넣고 파싱 방식을 고릅니다.
  2. XPath 식을 입력하고 계산 버튼을 누릅니다.
  3. 네임스페이스가 있는 XML은 문서에 선언된 접두사가 자동으로 연결되며, 다른 접두사는 prefix=URI 줄로 추가합니다.
  4. 일치 항목(텍스트 내용, 유형, 이름, 직렬화된 마크업) 또는 계산된 값을 확인합니다.

계산식

/ 자식 · // 자손 · @ 속성 · [조건] · text() · count() sum() string() contains() starts-with() position() last()

브라우저가 구현한 XPath 1.0입니다(matches()나 lower-case() 같은 XPath 2.0/3.1 함수는 쓸 수 없습니다). 노드 집합은 문서 순서로 나열됩니다. 접두사 없는 이름은 기본 네임스페이스(xmlns="…")의 요소와 일치하지 않으므로, XPath 1.0의 요구대로 그 URI에 접두사를 연결해 쓰세요.

예시

예제 catalog에서 //book[price > 10]/title은 노드 2개, "XML Developer's Guide"(44.95)와 "Maeve Ascendant"(12.50)에 일치합니다. count(//book)은 숫자 3을, count(//book[@lang])은 2(lang 속성이 있는 책이 두 권)를 돌려주고, //book/@id는 bk101, bk102, bk103을 나열합니다.

자주 묻는 질문

RSS, Atom, SOAP 문서에서 식이 아무것도 돌려주지 않는 이유는 무엇인가요?

그런 문서는 기본 네임스페이스를 씁니다. XPath 1.0에는 기본 네임스페이스가 없어서 //entry는 아무것도 일치하지 않습니다. atom=http://www.w3.org/2005/Atom 같은 접두사를 연결하고 //atom:entry로 쓰세요.

XPath 2.0이나 3.1 함수를 쓸 수 있나요?

아닙니다. 브라우저는 XPath 1.0만 구현합니다. 사람들이 필요로 하는 대부분의 식(경로, 조건, contains(), count())은 1.0입니다.

HTML 결과에 내가 쓰지 않은 태그가 있는 이유는 무엇인가요?

HTML은 웹 페이지처럼 파싱되므로 파서가 <html>, <body>, <tbody> 같은 생략된 요소를 추가합니다. 브라우저의 DOM과 똑같습니다.

내 문서가 업로드되나요?

아닙니다. 모든 작업이 브라우저 안에서 이뤄집니다.

입력하는 동안 갱신되지 않는 이유는 무엇인가요?

브라우저의 XPath 엔진은 시작하면 멈출 수 없으며, //*[count(//*) > 0]처럼 조건 안에 //가 중첩된 식은 큰 문서에서 몇 분이 걸릴 수 있습니다. 그래서 계산 버튼을 눌러야만 실행됩니다.

출처

최종 업데이트:

인용·퍼가기
APA

kakaoCalc. (2026, November 8). XPath 테스터(XML·HTML용 XPath 1.0). https://kakao.mobile/ko/tools/xpath-tester/

MLA

“XPath 테스터(XML·HTML용 XPath 1.0).” kakaoCalc, 8 Nov. 2026, kakao.mobile/ko/tools/xpath-tester/.

광고