XML ↔ JSON 변환기
XML의 요소와 텍스트가 섞인 구조를 순서 있는 노드 JSON으로 표현합니다. 속성은 attributes, 하위 노드는 children 배열에 담아 반복 요소와 텍스트 위치를 잃지 않도록 합니다. 일반 업무용 JSON의 키를 임의로 태그 이름으로 추정하지 않고 이 도구가 생성한 명시적 형식만 XML로 복원합니다.
주요 기능
- XML ↔ 명시적 노드 JSON 양방향 변환
- 요소·속성·텍스트·CDATA·주석·처리 지시문 구분
- 반복 요소와 혼합 텍스트의 노드 순서 유지
- XML 구문·네임스페이스·단일 루트 확인과 DTD 거부
사용 방법
- XML → JSON을 선택하고 루트 요소가 하나인 XML을 입력합니다.
- 실행해 type, name, attributes, children으로 이루어진 노드 구조를 확인합니다.
- 복원하려면 결과 JSON을 입력에 붙여 넣고 JSON → XML로 바꿉니다.
- 결과를 복사하고 원본과 내용을 비교합니다. 파일의 바이트가 완전히 같아지는 변환은 아닙니다.
활용 예시
- 문장 중간의 강조 태그와 공백 위치를 포함한 XML 분석
- 반복되는 동명 요소와 속성을 빠짐없이 JSON으로 전달
- XML 구조를 명시적인 테스트 데이터로 만들고 복원
자주 묻는 질문
일반 JSON 객체도 XML로 만들 수 있나요?
이 도구의 노드 JSON 형식만 지원합니다. 최상위는 type: document, declaration, children이며 요소에는 type: element, name, attributes, children이 필요합니다. 먼저 XML 예제를 JSON으로 변환해 템플릿을 확인하세요.
같은 이름의 요소와 문장 사이 공백도 유지하나요?
children 배열이 원래 노드 순서를 유지합니다. 따라서 같은 이름의 형제 요소와 태그 사이 텍스트를 따로 표현할 수 있습니다. 텍스트와 CDATA는 구별하며 새 들여쓰기로 문장에 공백을 끼워 넣지 않습니다.
출력 XML이 원본 파일과 정확히 같은가요?
바이트 단위 동일성은 보장하지 않습니다. XML 파서가 줄바꿈·엔티티 참조·속성 공백 등을 정규화할 수 있고 따옴표나 빈 요소 표기가 달라집니다. 서명·해시용 XML 정규화 도구가 아닙니다.
DTD, 외부 엔티티, XSD를 지원하나요?
DTD와 ENTITY 선언은 거부하며 외부 파일이나 스키마를 가져오지 않습니다. XSD 검증은 하지 않습니다. XML 1.0 선언과 파서가 처리하는 문서 구문·네임스페이스를 확인합니다.
XML 내용에 스크립트나 스타일이 있으면 실행하나요?
분리된 XML 문서를 문자열과 노드 데이터로만 읽습니다. 입력 노드를 현재 웹페이지에 넣지 않고 결과도 텍스트로 출력하므로 이 도구가 입력 스크립트를 실행하거나 연결된 스타일을 적용하지 않습니다.
노드 형식이나 크기가 맞지 않으면 어떻게 되나요?
알 수 없는 키, 잘못된 노드 종류, 중복 속성, 부적절한 주석·CDATA 내용은 오류로 처리합니다. 입력과 XML 출력은 최대 100,000 UTF-16 코드 단위, 구조는 10,000노드·깊이 100 이내여야 합니다.
개인정보 안내
입력과 결과는 브라우저 메모리에서 처리하며 이 도구가 서버로 전송하거나 저장하지 않습니다. 새로고침하면 지워집니다. 사이트 공통 광고·방문 분석은 별도로 작동할 수 있으며 도구 사용 집계에는 입력·출력 원문이 포함되지 않습니다.
댓글과 질문