XML 포맷터
XML 문자열을 읽기 쉬운 형식으로 정리합니다.
XML 문서의 들여쓰기와 줄바꿈을 정리하고, 문법이 맞지 않으면 입력 칸에서 오류로 표시합니다.
사용 순서
- XML을 입력 칸에 붙여 넣습니다. 기본 예시는 간단한 중첩 구조입니다.
- 들여쓰기 크기(기본 2칸)와 내용 접기 스위치를 정합니다.
- 결과 칸의 서식이 적용된 XML을 확인하고 복사합니다.
예시
<hello><world>foo</world><world>bar</world></hello>를 들여쓰기 2칸, 내용 접기 켬으로 정리하면 world 요소는 한 줄에 유지되고 두 줄이 hello 아래에 2칸씩 들여써져 나옵니다.
한계
문법 검사는 파서 수준이며 DTD나 XSD 같은 스키마 검증은 하지 않습니다. 루트 요소가 여러 개인 조각은 오류로 처리됩니다. 여는 태그와 닫는 태그가 맞지 않은 입력도 오류 없이 자동으로 교정되어 출력됩니다.
보안 주의
잘못 닫힌 태그가 임의로 고쳐져 나오므로 원본과 구조가 달라졌을 수 있습니다. 설정 파일이나 SOAP 요청처럼 구조가 중요한 XML은 정리 결과를 원본과 비교한 뒤 사용하세요.
배경 지식
XML은 태그로 감싼 계층 구조의 데이터 형식입니다. 모든 여는 태그에는 짝이 맞는 닫는 태그가 있어야 하고, 문서에는 루트 요소가 하나만 있어야 합니다. 이 규칙 때문에 한 줄로 이어진 XML도 파서는 구조를 엄격하게 따져 오류를 찾아냅니다. 속성 값은 따옴표로 감싸야 하며, &와 <는 &와 <로 써야 합니다.
사람이 XML을 읽을 때는 들여쓰기가 중요합니다. 파서는 태그 사이의 공백을 무시하는 경우가 많지만, 공백이 텍스트 노드로 남는 문서에서는 들여쓰기가 값에 영향을 줄 수 있습니다. 그래서 서식 도구는 텍스트 내용을 건드리지 않고 태그 사이의 줄바꿈과 들여쓰기만 조정하는 것이 일반적입니다.
XML은 설정 파일, SOAP, RSS 등 여러 분야에서 쓰이며 각 분야는 스키마로 허용 구조를 정합니다. 문법이 맞더라도 스키마에서 요구하는 요소가 빠졌다면 실제로는 거부될 수 있으므로, 서식 정리와 스키마 검증은 별개의 단계입니다. 서식이 정돈되었다고 문서가 유효하다는 뜻은 아니며, 검증은 스키마 파일을 기준으로 따로 해야 합니다.
자주 묻는 질문
내용 접기 스위치를 끄면 무엇이 달라지나요?
텍스트만 있는 요소도 여는 태그, 텍스트, 닫는 태그가 각각 다른 줄에 나옵니다. 긴 요소를 한 줄씩 보고 싶을 때 끄면 되지만, 결과가 길어지므로 필요할 때만 쓰는 것이 좋습니다.
루트 요소가 여러 개인 XML은 왜 오류가 나나요?
XML 표준은 문서에 루트 요소가 하나만 있어야 한다고 정합니다. 여러 조각을 묶으려면 상위 요소 하나로 한 번 감싸야 하며, 이 도구도 그렇게 감싼 입력만 정상으로 처리합니다.
XML 선언문도 정리되나요?
<?xml version="1.0" encoding="UTF-8"?> 같은 선언문은 그대로 유지되고, 루트 요소부터 들여쓰기된 구조로 나옵니다. 인코딩 값은 바꾸지 않으므로 원본 파일의 인코딩을 그대로 따릅니다.