XML 포맷터

📋 포맷/변환

XML 데이터를 깔끔하게 들여쓰기하거나 한 줄로 압축합니다.

📄 XML 포맷터란?

XML을 계층 구조에 맞춰 정렬·압축하고 유효성까지 검사합니다. 1~8칸 들여쓰기로 가독성을 높이거나, 공백을 제거해 용량을 줄입니다.API 응답 분석, 설정 파일(pom.xml, web.xml) 편집, SOAP 디버깅, RSS/Atom 피드 확인 등 다양한 작업에 활용됩니다.

🔧 주요 기능

포맷팅 (Prettify)

1~8칸 들여쓰기로 계층 구조를 시각화

압축 (Minify)

공백과 줄바꿈 제거로 용량 최소화

유효성 검사

well-formed XML 여부 자동 확인

복사 기능

결과를 클립보드에 바로 복사

📋 XML vs JSON 비교

항목XMLJSON
가독성태그로 명확간결함
용량크다작다
속성지원미지원
주석지원미지원

📄 포맷팅 전후 비교

API 응답이나 로그에서 가져온 XML은 대개 한 줄로 붙어 있어 구조가 보이지 않습니다. 들여쓰기만 넣어도 어떤 요소가 어디에 속하는지 즉시 드러납니다.

입력 (한 줄)

<order id="1001"><customer><name>홍길동</name><email>hong@example.com</email></customer><items><item sku="A-01"><qty>2</qty><price>15000</price></item></items></order>

출력 (2칸 들여쓰기)

<order id="1001">
  <customer>
    <name>홍길동</name>
    <email>hong@example.com</email>
  </customer>
  <items>
    <item sku="A-01">
      <qty>2</qty>
      <price>15000</price>
    </item>
  </items>
</order>

🔤 XML 이스케이프 문자

아래 5개 문자는 XML 문법에서 특별한 의미를 가지므로, 값으로 쓰려면 반드시 치환해야 합니다. 파싱 오류의 상당수가 여기서 발생합니다.

문자이스케이프이름필수 여부
<&lt;less than항상 필수
&&amp;ampersand항상 필수
>&gt;greater than권장
"&quot;quote속성값 안에서 필수
'&apos;apostrophe속성값 안에서 필수

이스케이프할 문자가 너무 많다면 <![CDATA[ ... ]]>로 감싸는 편이 깔끔합니다. HTML 조각이나 스크립트를 XML 안에 넣을 때 주로 씁니다.

⚠️ 자주 하는 실수

XML은 대소문자를 구분합니다. <Item></item>다른 태그로 인식되어 파싱이 실패합니다. 또한 <, &는 반드시 &lt;, &amp;로 이스케이프해야 합니다.

자주 묻는 질문

well-formed XML과 valid XML의 차이는?

well-formed는 문법적으로 올바른 XML(태그 열고 닫기, 대소문자 일치 등)이고, valid는 DTD나 XSD 스키마를 만족하는 XML입니다. 이 도구는 well-formed 여부를 검사합니다.

XML 선언(<?xml ...?>)은 꼭 필요한가요?

필수는 아니지만 권장됩니다. 인코딩을 명시하지 않으면 기본값(UTF-8)이 적용되며, 다른 인코딩 사용 시 반드시 선언해야 합니다.

CDATA 섹션은 언제 사용하나요?

HTML이나 특수문자(<, >, &)가 포함된 텍스트를 이스케이프 없이 그대로 넣고 싶을 때 <![CDATA[ ... ]]>로 감쌉니다.

입력한 XML이 서버로 전송되나요?

아니요. 파싱과 포맷팅 모두 브라우저 안에서 처리되며 내용이 서버로 전송되거나 저장되지 않습니다. 사내 설정 파일이나 API 응답도 안전하게 붙여넣을 수 있습니다.

"엔티티를 찾을 수 없다"는 오류가 나요.

값 안에 &가 그대로 들어간 경우가 대부분입니다. XML에서 &는 엔티티 시작 문자라 반드시 &amp;로 써야 합니다. URL의 쿼리스트링을 그대로 넣을 때 자주 발생합니다.

압축(Minify)하면 XML 의미가 바뀌지 않나요?

태그 사이의 들여쓰기용 공백만 제거하므로 구조는 그대로입니다. 다만 요소 내부 텍스트의 공백이 의미를 갖는 문서라면 결과를 한 번 확인하는 것이 좋습니다.

관련 도구

광고