XML 포매터

구문 강조와 오류 감지로 XML 문서를 포맷, 검증, 미화합니다

로컬에서 실행

XML 입력

서식 지정된 출력

검사기

잘 작성된(well-formed) XML을 붙여넣으세요 — 구조, 트리, 요소 경로가 여기에 자동으로 표시됩니다

고급 옵션

다른 XML과 비교

이 문서를 Data Diff로 보내고 두 번째 버전을 붙여넣어 변경된 내용을 확인하세요.

정확한 오류 위치를 알려주는 검증

입력할 때마다 브라우저 XML 파서로 검증이 실행됩니다. Well-formed 문서는 요소, 속성, 텍스트 노드, 깊이 개수가 실시간으로 표시됩니다. 깨진 문서는 단순히 "not well-formed"만 알려주는 게 아니라 정확한 줄과 열, 가능성 높은 원인, 문제 위치 하이라이트까지 알려줍니다.

이 도구가 정확히 짚어주는 흔한 XML 오류

이런 실수가 대부분의 잘못된 XML을 차지합니다. 각각은 위치와 가능성 높은 원인과 함께 감지됩니다:

일치하지 않는 태그

<person>이 </perso>로 닫힌 경우입니다. 파서는 두 태그의 줄 번호와 함께 "Opening and ending tag mismatch"를 보고하며, 하이라이트는 문제가 있는 태그로 이동합니다.

닫히지 않은 태그

>가 누락되었거나 종료 태그가 없는 경우입니다. 보통 정확한 위치에서 "expected >" 또는 "premature end of data in tag X"로 보고됩니다.

중복 속성

한 요소에 같은 속성 이름이 두 번 나타나는 경우, 예: <item id="1" id="2">. 두 번째 항목을 가리키며 "Attribute redefined"로 보고됩니다.

잘못된 엔티티 / 이스케이프되지 않은 &

텍스트 안의 리터럴 & 또는 <는 반드시 이스케이프해야 합니다 (&amp;, &lt;). 파서는 정확한 문자 위치에서 "EntityRef: expecting ;" 또는 "not well-formed"를 보고합니다.

변경 전 / 변경 후

왼쪽은 압축된 API 응답, 오른쪽은 같은 문서를 2칸 들여쓰기로 포맷한 결과입니다. 구조, 트리, 경로는 파싱된 문서를 기준으로 갱신됩니다.

Before
<catalog><book id="1" category="fiction"><title>The Hobbit</title><author>J.R.R. Tolkien</author></book><book id="2" category="tech"><title>Refactoring</title><author>Martin Fowler</author></book></catalog>
After
<catalog>
  <book id="1" category="fiction">
    <title>The Hobbit</title>
    <author>J.R.R. Tolkien</author>
  </book>
  <book id="2" category="tech">
    <title>Refactoring</title>
    <author>Martin Fowler</author>
  </book>
</catalog>

XML 빠른 참조 (W3C XML 1.0)

  • Well-formed ≠ valid: well-formed는 태그가 올바르게 중첩되고 닫힌다는 뜻이고, valid는 여기에 더해 문서가 DTD 또는 XSD 스키마를 따른다는 뜻입니다.
  • 다섯 가지 사전 정의 엔티티: &lt; &gt; &amp; &quot; &apos; — 텍스트에 리터럴 < 또는 &가 있으면 항상 오류입니다.
  • 요소와 속성 이름은 대소문자를 구분하며 네임스페이스 접두사(ns:tag)를 가질 수 있습니다.
  • 루트 요소는 정확히 하나만 존재해야 하며, <?xml version="1.0" encoding="UTF-8"?> 같은 XML 선언이 있다면 반드시 맨 앞에 와야 합니다.
  • 주석 <!-- … -->에는 --를 포함할 수 없고 중첩할 수 없습니다.

이 데이터로 이어지는 다음 단계

포맷팅은 첫 단계일 뿐입니다. 브라우저를 벗어나지 않고 워크플로를 계속 이어가세요:

자주 묻는 질문

Xml Formatter 서식 지정에 대한 일반적인 질문에 답변합니다

포매터는 well-formedness 검사와 기본 검증을 수행합니다. W3C XML 1.0/1.1 사양에 따라 올바른 태그 중첩, 속성 문법, XML 선언 준수 여부를 확인합니다.

네, 내장 XPath 테스터로 XML 문서에 대해 XPath 1.0과 2.0 식을 작성하고 평가할 수 있으며, 일치하는 요소를 하이라이트하고 결과를 즉시 표시합니다.

네, 포매터는 네임스페이스가 있는 XML 문서를 올바르게 처리하며, 요소와 속성을 적절히 포맷하면서 네임스페이스 선언과 접두사를 그대로 유지합니다.

네, 변환 기능으로 XML을 JSON으로, JSON을 XML로 변환할 수 있으며, 지능형 매핑이 요소 구조, 속성, 데이터 타입을 그대로 유지합니다.

XML 포매터는 최적화된 파싱 알고리즘을 통해 최대 50MB까지의 파일을 지원하므로, 대형 설정 파일, SOAP 메시지, 데이터 교환 문서에 적합합니다.

네임스페이스 선언(xmlns, xmlns:prefix)은 들여쓰기 목적에서는 일반 속성처럼 취급되며 재정렬되거나 삭제되지 않으므로, 네임스페이스 URI는 동일한 접두사에 그대로 바인딩된 상태를 유지합니다. 포맷팅은 접두사를 절대 해석하거나 다시 쓰지 않습니다 - 다운스트림 도구가 W3C Namespaces in XML 권고안에 따라 이를 해석합니다.

포맷팅은 요소 사이의 공백을 다시 들여쓰고 정규화할 뿐입니다. 검증은 W3C XML 1.0 사양에 따라 균형 잡힌 태그, 단일 루트 요소, 올바른 속성 따옴표, 엔티티 문법 등 구조를 확인합니다. 포매터는 well-formedness 오류를 보고하지만(잘못된 입력은 다시 들여쓸 수 없음) DTD나 XSD 스키마에 대한 검증은 수행하지 않습니다.

네 - CDATA 블록은 내부 콘텐츠를 정확히 그대로 유지하며(이것이 CDATA의 목적입니다: 엔티티 인코딩이 필요할 텍스트를 이스케이프하는 것), 주석은 주변 들여쓰기를 제외하고 변경 없이 그대로 통과합니다. <?xml version="1.0"?> 같은 XML 선언과 처리 지시문도 맨 위에 그대로 유지됩니다.

{-- * External Resources Component(#19 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / 官方语言文档 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}

관련 도구