개발 도구
XML 정리·검사
들여쓰기와 압축, 닫히지 않은 태그 찾기. 트리로 구조를 보고 XPath로 값을 찾습니다.
🔒 입력한 내용과 파일은 이 브라우저 안에서만 처리합니다. 서버로 보내지 않습니다.
요소 이름을 누르면 그 요소를 가리키는 XPath 가 복사됩니다.
예: //상품/이름, //상품[@코드="K-01"], count(//상품), sum(//가격). 기본 네임스페이스(xmlns="…")가 있는 문서는 //*[local-name()="이름"] 으로 찾습니다.
| 위치 | 값 |
|---|
XML 정리·검사 사용법
한 줄로 붙어 있거나 들여쓰기가 흐트러진 XML을 계층이 보이게 정리하고, 문법이 틀린 곳을 찾아 주는 도구입니다. 공공데이터 API 응답, 사이트맵, RSS, SVG, 안드로이드 레이아웃이나 메이븐 설정처럼 XML로 된 파일을 들여다볼 때 씁니다.
쓰는 순서
- 입력 칸에 XML을 붙여 넣거나 파일 열기로 불러옵니다. 파일을 입력 칸에 끌어다 놓아도 됩니다.
- 붙여 넣으면 바로 검사합니다. 문법이 맞으면 뿌리 요소 이름과 함께 요소 수, 속성 수, 가장 깊은 단계를 보여 줍니다.
- 정리하기는 요소마다 줄을 바꿔 들여쓰고, 한 줄로 압축은 태그 사이의 공백과 줄바꿈을 없앱니다.
- 결과 복사 또는 파일로 저장으로 가져갑니다.
예시
<목록><항목 id="1">사과</항목><항목 id="2"/></목록> 을 넣고 정리하기를 누르면 네 줄이 됩니다. 첫 줄 <목록>, 둘째 줄에 두 칸 들여쓴 <항목 id="1">사과</항목>, 셋째 줄 <항목 id="2"/>, 넷째 줄 </목록> 입니다. 글자만 든 요소는 여는 태그, 글자, 닫는 태그를 한 줄에 둡니다. 요소는 3개, 속성은 2개, 깊이는 2단계로 나옵니다.
자주 나는 오류와 고치는 법
| 안내 문구 | 원인 | 고치는 법 |
|---|---|---|
| …를 닫기 전에 다른 닫는 태그가 나왔습니다 | 태그를 닫지 않았거나 이름을 잘못 적음. <Item> 과 </item> 처럼 대소문자가 달라도 다른 이름입니다. | 안내에 나온 줄의 여는 태그와 닫는 태그 이름을 맞춥니다. |
| 맨 바깥 요소가 두 개 이상입니다 | 문서 전체를 감싸는 요소가 없음 | 전체를 요소 하나로 감쌉니다. |
| 글자 & 나 < 가 그대로 쓰였습니다 | 주소의 a=1&b=2, 수식의 a < b | &, < 로 바꾸거나 CDATA로 감쌉니다. |
| XML에 없는 엔티티가 쓰였습니다 | 같은 HTML 엔티티 |   같은 숫자 표기로 바꿉니다. |
| 속성 형식이 틀렸습니다 | width=100 처럼 따옴표 없는 값, 값 없는 속성 | width="100" 으로 적습니다. |
| <?xml 선언은 문서 맨 처음에만 | 선언 앞에 주석이나 다른 내용이 있음 | 선언을 첫 줄로 옮깁니다. 앞의 빈 줄과 공백은 이 도구가 알아서 무시합니다. |
HTML은 닫는 태그를 빼먹어도 브라우저가 알아서 고쳐 주지만 XML은 한 군데만 틀려도 문서 전체를 읽지 못합니다. 그래서 오류를 한 번에 하나씩, 가장 먼저 걸리는 곳부터 알려 드립니다. 고친 뒤 다음 오류가 있으면 다시 나옵니다.
옵션
- 들여쓰기: 2칸, 4칸, 탭. 저장소에 올리는 파일은 프로젝트 규칙에 맞추고, 그냥 읽을 용도면 2칸이 가로로 덜 길어집니다.
- 주석 지우기:
<!-- -->를 모두 뺍니다. 배포용으로 크기를 줄일 때 압축과 함께 씁니다. - 빈 요소를 <a/> 로 줄이기:
<a></a>를<a/>로 적습니다. XML에서는 둘이 같은 뜻입니다. 다만 XHTML을 HTML로 읽는 환경에서는<script/>,<div/>가 다르게 해석되니 그런 문서에는 켜지 마세요.
트리 보기와 XPath 검색
트리 보기 탭은 요소를 접고 펴며 구조를 살피는 화면입니다. 요소 옆에 속성과 자식 수가 나오고, 요소 이름을 누르면 그 요소를 가리키는 XPath가 복사됩니다.
XPath 검색 탭에서는 식으로 값을 뽑습니다. 예시 버튼으로 채운 주문 문서에서 //상품/이름 은 "무선 키보드"와 "마우스 패드" 2개를 찾고, //상품[가격 > 10000]/이름 은 "무선 키보드" 하나만 찾습니다. count(//상품) 은 2, sum(//가격) 은 53000 이 나옵니다. 속성은 //상품/@코드 처럼 골뱅이표로 가리킵니다. 찾은 결과는 복사하거나 CSV로 저장할 수 있어서, 긴 XML에서 특정 값만 뽑아 엑셀로 옮길 때 편합니다. 브라우저에 든 XPath 1.0을 쓰므로 2.0 이후에 생긴 함수는 쓸 수 없습니다.
파일 여러 개를 한 번에
파일을 두 개 이상 고르면 지금 고른 방식(정리 또는 압축)과 옵션으로 모두 처리해 ZIP 하나로 저장합니다. 문법이 틀린 파일은 건너뛰고 목록에 이유를 적습니다.
주의할 점
- DTD나 XSD에 맞는지(유효성)는 검사하지 않습니다. 태그 짝과 문자 규칙 같은 문법(well-formed)만 봅니다.
- 글자와 태그가 섞인 요소(
<p>가 <b>나</b> 다</p>)는 정리하면 조각마다 줄이 나뉘어 공백이 달라집니다. 본문 글이 든 문서는 압축보다 원본 유지가 안전합니다. - 파일은 UTF-8로 읽습니다. EUC-KR로 저장된 오래된 XML은 한글이 깨져 보일 수 있습니다.
자주 묻는 질문
XML 오류 위치는 어떻게 알려 주나요?
틀린 곳을 몇 번째 줄 몇 번째 칸인지 알려 주고 그 줄의 내용에 ^ 표시를 붙입니다. 여닫는 태그의 짝이 안 맞으면 어느 줄에서 연 태그가 문제인지도 함께 적습니다. 오류 위치로 이동 버튼을 누르면 입력 칸에서 그 자리가 선택됩니다.
글 안에 &나 <를 쓰면 왜 오류가 나나요?
XML에서 &와 <는 문법 기호라서 글자로 쓰려면 &와 <로 적어야 합니다. 주소에 들어가는 &도 마찬가지입니다. 바꾸기 번거로운 긴 글은 <![CDATA[ 와 ]]> 사이에 넣으면 그대로 쓸 수 있습니다.
를 넣었더니 정의되지 않은 엔티티라고 나옵니다.
XML이 기본으로 아는 엔티티는 & < > " ' 다섯 개뿐입니다. 는 HTML의 것이어서 XML에서는 숫자 표기인  로 적어야 합니다. 다른 HTML 엔티티도 같은 방식으로 숫자 표기로 바꾸면 됩니다.
XPath로 찾았는데 아무것도 안 나옵니다.
뿌리 요소에 xmlns="…" 가 있는 문서(사이트맵, SVG, RSS의 일부 등)는 요소가 모두 그 네임스페이스에 속해서 //url 같은 식으로는 찾지 못합니다. //*[local-name()="url"] 처럼 이름만 비교하는 식을 쓰세요. 트리 보기에서 요소 이름을 눌러 복사한 경로는 이 형태로 만들어집니다.
정리하면 내용이 바뀌지 않나요?
태그와 속성, 글자는 그대로 두고 태그 사이의 줄바꿈과 들여쓰기만 바꿉니다. 글자만 든 요소는 안의 공백까지 그대로 둡니다. 다만 글자와 태그가 섞여 있는 요소는 글자 앞뒤 공백이 정리되므로, 공백이 뜻을 갖는 문서라면 결과를 확인해 주세요.
SVG나 사이트맵 파일도 정리할 수 있나요?
둘 다 XML이어서 그대로 쓸 수 있습니다. svg, rss, xsd, kml, gpx, plist 확장자의 파일을 열 수 있고, 파일을 여러 개 고르면 한꺼번에 처리해 ZIP으로 저장합니다.
함께 쓰면 좋은 도구
마지막 수정 2026-11-09. 있었으면 하는 기능이나 불편한 점은 이 도구에 건의하기로 알려 주세요.