Devin.KR

XML VALIDATOR · WELL-FORMED CHECK

XML 문법 검사기

이 XML, 태그가 제대로 닫혔을까?

<root><item></root> 처럼 닫는 태그가 어긋난 XML 을 붙여 넣고 문법 검사를 누르면 무효 판정과 함께 오류가 난 줄과 칸을 보여 줍니다. 설정 파일, SOAP 응답, 사이트맵을 배포하기 전에 빠르게 확인하세요.

  • 오류 줄·칸 표시
  • 태그·속성 문법
  • 브라우저에서만 처리
  • 무료 · 가입 없음
바로 사용하기 ↓
XML을 입력하세요.

검사 방식

브라우저의 DOMParser(text, 'text/xml')로 파싱한 뒤 parsererror 내용을 읽습니다. 브라우저에 따라 오류 문구 형식은 조금 다를 수 있습니다.

MADE FOR YOUR WORK

이럴 때 쓰세요

설정 파일 배포 전 점검

pom.xml, 스프링·로그 설정 XML 을 고친 뒤 서버를 올리기 전에 태그 짝이 맞는지 봅니다.

SOAP·연동 응답 확인

외부 기관 연동에서 받은 XML 응답이 파싱에 실패할 때 어느 줄이 깨졌는지 찾습니다.

사이트맵·RSS 검사

sitemap.xml, RSS 피드를 검색엔진에 제출하기 전에 & 같은 특수문자 실수가 없는지 확인합니다.

STEP BY STEP

XML 문법 검사기 사용 방법

이렇게 쓰세요

  1. XML 붙여 넣기

    검사할 XML 칸에 문서 전체를 넣습니다.

  2. 문법 검사 누르기

    통과하면 '유효한 XML', 실패하면 '유효하지 않은 XML' 배지가 나옵니다.

  3. 오류 위치 확인

    브라우저 파서가 위치를 알려 주면 '3줄 15칸 ·' 을 앞에 붙여 메시지와 함께 보여 줍니다.

  4. 고치고 다시 검사

    파서는 대개 첫 오류에서 멈추므로, 하나를 고칠 때마다 다시 눌러 다음 오류를 찾습니다.

UNDERSTAND THE BASICS

XML 이 '잘 짜였다(well-formed)'는 것의 뜻

XML 은 HTML 과 닮았지만 훨씬 엄격합니다. 브라우저는 틀린 HTML 을 알아서 고쳐 보여 주지만, XML 파서는 규칙을 하나라도 어기면 그 자리에서 멈춥니다. 이 규칙을 모두 지킨 문서를 well-formed 라고 부르며, 이 도구가 검사하는 것이 바로 이것입니다.

핵심 규칙은 몇 가지뿐입니다. 뿌리 요소는 하나, 모든 태그는 닫히고 올바르게 중첩돼야 하며, 태그 이름은 대소문자를 구분하고, 속성 값은 따옴표로 감싸야 합니다. 본문의 & 와 < 는 &amp; 와 &lt; 로 써야 합니다.

well-formed 와 valid 는 다른 말입니다. valid 는 DTD 나 XSD 스키마가 정한 요소 이름·순서·타입까지 지켰다는 뜻입니다. 이 도구는 스키마 검증을 하지 않으므로, 통과해도 받는 쪽 스키마에 맞는지는 따로 확인해야 합니다.

XML 문법 규칙과 흔한 위반
규칙틀린 예맞는 예
모든 태그는 닫는다<br><br/>
올바르게 중첩한다<a><b></a></b><a><b></b></a>
대소문자를 맞춘다<Item></item><item></item>
속성 값은 따옴표로<x id=1><x id="1">
& 는 이스케이프<q>A & B</q><q>A &amp; B</q>
뿌리 요소는 하나<a/><b/><root><a/><b/></root>
선언은 맨 앞에(빈 줄)<?xml …?><?xml …?> 로 시작

XML 문법 검사기 사용 안내

XML 문법과 파싱 오류 위치를 서버 전송 없이 브라우저에서 검사합니다.

XML을 붙여 넣어 파싱 오류를 확인하세요. 문법 검사는 별도의 XSD나 DTD에 대한 적합성을 보장하지 않습니다.

QUICK EXAMPLE

XML 문법 검사기 사용 예제

입력 · 시작

<root><item></root>

결과 · 확인

닫는 태그의 불일치 확인

XML 문법 검사와 XSD 스키마 검증은 다릅니다.

어떻게 구현했나

브라우저에 내장된 DOMParser 로 text/xml 파싱을 합니다. XML 파서는 HTML 파서와 달리 잘못된 문서를 고쳐 주지 않고 그 자리에서 실패하므로, 문법 검사에 그대로 쓸 수 있습니다.

실패하면 파서가 parsererror 요소를 넣어 돌려줍니다. 그 안의 메시지에서 줄과 칸 숫자를 뽑아 앞에 붙여 보여줍니다.

문법이 맞는지만 봅니다. DTD 나 XSD 스키마에 맞는지는 검사하지 않습니다.

BEFORE YOU FINISH

자주 하는 실수

HTML 엔티티를 그대로 쓴다

&nbsp;, &copy; 같은 이름은 HTML 에만 정의돼 있습니다. XML 에서는 정의되지 않은 엔티티 오류가 나므로 &#160; 같은 숫자 참조나 실제 문자를 쓰세요.

URL 쿼리의 & 를 잊는다

사이트맵이나 설정 속 URL 의 ?a=1&b=2 에서 & 를 그대로 두면 문법 오류입니다. &amp; 로 바꾸거나 CDATA 로 감싸세요.

XML 선언 앞에 공백이 있다

<?xml version="1.0"?> 앞에 빈 줄이나 공백이 한 칸이라도 있으면 오류가 납니다. 템플릿으로 XML 을 만들 때 자주 생깁니다.

자주 묻는 질문

XML 유효성 검사는 어떻게 하나요?

검사할 XML 칸에 붙여 넣고 문법 검사를 누르세요. 문법에 맞으면 '유효한 XML', 아니면 오류 위치와 메시지가 나옵니다.

XSD 나 DTD 로 스키마 검증도 되나요?

지원하지 않습니다. 이 도구는 문법(well-formed)만 검사합니다. 스키마 검증은 xmllint 같은 도구나 사용하는 언어의 XML 라이브러리로 하세요.

오류 메시지가 브라우저마다 달라요

브라우저에 내장된 XML 파서의 메시지를 그대로 보여 주기 때문입니다. 크롬과 파이어폭스는 문구와 위치 표기가 다르며, 위치를 찾지 못하면 메시지만 표시됩니다.

오류가 하나만 나오는데 더 있는지 알 수 있나요?

XML 파서는 대개 첫 번째 치명적 오류에서 멈춥니다. 표시된 오류를 고치고 다시 검사하는 과정을 반복하세요.

XML 에서 특수문자는 어떻게 쓰나요?

본문의 & 는 &amp;, < 는 &lt; 로 씁니다. 속성 값 안의 따옴표는 &quot; 나 &apos; 로 씁니다. 긴 코드 조각은 <![CDATA[ ... ]]> 로 감싸면 이스케이프 없이 넣을 수 있습니다.

입력한 데이터는 어디에서 처리하나요?

이 도구의 입력 데이터는 브라우저에서 처리하며 도구 기능을 위해 서버로 업로드하지 않습니다. 결과를 공유하기 전 민감한 정보가 없는지 확인하세요.

함께 쓰면 좋은 도구

전체 도구 바로가기

손으로 익히기

문서 · 데이터 변환

개발 실무

한국 개발 특화

API · 네트워크

이미지 · 색상