XML 도구

XML 이스케이프삽입할 위치에 맞게

텍스트 노드인지 속성 값인지 선택한 뒤 문자를 변환하세요.

XML 이스케이프

입력

결과

변환은 현재 브라우저 안에서 실행되며 입력을 업로드하지 않습니다.

변환 옵션

위치는 인코딩에만 적용됩니다. 원래 구분자는 유지하며 복원된 줄바꿈은 값에 속합니다. JSON 보고서가 레코드 경계를 보존합니다.

입력 ≤ 1,048,576, 출력 ≤ 6,291,456, 보고서 ≤ 16,777,216 UTF-16단위. 일괄 ≤ 10,000레코드.

38 → 48단위 · 3곳 변환 · 1레코드

XML 이스케이프는 상품 이름의 &나 설정 값의 따옴표 때문에 문서가 깨질 때 유용합니다. 텍스트에서 그대로 둘 수 있는 따옴표도 속성을 감싸는 기호로 쓰이면 처리 방법이 달라집니다.

XML 디코딩은 엔티티를 한 겹만 복원합니다. 태그를 해석하거나 DTD를 읽지 않으며, 결과 문자열이 나왔다고 전체 문서의 유효성이 확인되는 것은 아닙니다.

XML 이스케이프로 확인할 차이

속성의 공백을 값으로 보존

XML 이스케이프는 CR을 숫자 참조로 바꿉니다. 속성에서는 TAB과 LF, 선택한 따옴표까지 처리해 일반 CDATA 형식의 속성에 넣을 때 값을 보존합니다.

같은 따옴표 포함 값이 텍스트와 속성 경로로 나뉘고 속성 경로에서만 해당 따옴표가 보호되는 그림.

줄바꿈과 레코드 경계를 분리

숫자 줄바꿈 참조를 복원하면 한 레코드의 값이 여러 줄이 될 수 있습니다. JSON 보고서는 각 입력·출력·원래 구분자를 따로 저장합니다.

두 레코드 카드를 분리한 상태에서 첫 카드 안에 복원된 줄바꿈이 늘어나는 그림.

위치와 실행 시점을 먼저 정하기

01

속성을 감싼 기호 선택

텍스트 모드는 따옴표를 그대로 둡니다. 속성 모드는 바깥에서 사용하는 작은따옴표 또는 큰따옴표만 이스케이프하며, 바깥 따옴표나 태그를 추가하지 않습니다.

02

자동 변환 시간 확인

편집을 멈추고 350ms 후 실행합니다. 자동을 끄면 변환 버튼이 나타나고 Ctrl/Cmd+Enter도 사용할 수 있습니다. 입력이나 옵션이 바뀌면 이전 결과의 내보내기를 즉시 막습니다.

03

입력 교체는 미리 확인

예제와 지우기는 교체 전후 문자 수와 미리보기를 보여 줍니다. 적용 후 한 번 취소하면 입력과 결과가 함께 돌아옵니다. 긴 출력은 20,000단위씩 더 볼 수 있습니다.

엔티티 이름과 오류 위치 확인

다섯 가지 기본 이름

XML 이스케이프가 복원하는 XML 엔티티 이름은 amp, lt, gt, quot, apos입니다. 대소문자를 구분하며 세미콜론이 반드시 있어야 합니다.

십진수와 십육진수

A와 A은 모두 A를 복원합니다. 접두사의 x는 소문자여야 하지만 A–F 숫자는 양쪽 대소문자를 허용합니다. 한글과 이모지를 무조건 ASCII로 바꾸지는 않습니다.

원본 위치로 오류 안내

XML 특수 문자는 참조로 표현할 수 있지만 금지된 문자가 숫자 표기만으로 허용되지는 않습니다. 첫 오류의 원래 행과 UTF-16 열을 표시하고 부분 결과를 반환하지 않습니다.

문자열 처리 범위와 용량

문서 검증과는 다른 작업
XML 이스케이프는 요소 이름, 태그 중첩, 속성 문법이나 스키마를 확인하지 않습니다. 복원 시 원래 꺾쇠와 따옴표를 유지하고 참조만 검사합니다.
한 겹만 엄격하게 복원
<는 한 번에 <가 됩니다.   같은 HTML 이름, 사용자 DTD 엔티티, 단독 &, 미완성 참조는 실패합니다. 재귀 복원이나 외부 엔티티 해석은 없습니다.
XML 1.0 문자 범위
NUL, 금지 제어 문자, 고립 서로게이트, U+FFFE/U+FFFF를 원문과 숫자 참조 모두에서 거부합니다. 표준상 유효한 U+1FFFE 같은 보충 평면 문자는 유지합니다.
공백 정규화는 수행하지 않음
인코딩은 CR을 보호하고 속성에서는 TAB/LF도 보호합니다. 디코딩은 원래 공백을 그대로 둡니다. 속성 보존은 일반 CDATA 형식에 해당하며 DTD 토큰형 속성은 후속 파서가 공백을 바꿀 수 있습니다.
일괄 출력의 줄은 모호할 수 있음
원래 CRLF, CR, LF로 레코드를 나누며 빈 줄과 마지막 빈 레코드도 셉니다. 구분자는 그대로 유지합니다. 
이 값 안에 새 줄을 만들면 TXT만으로 경계를 되짚을 수 없으므로 JSON records 배열을 사용하세요.
상한 초과 시 전체 실패
입력 1,048,576, 출력 6,291,456, 보고서 16,777,216 UTF-16단위와 일괄 10,000레코드가 상한입니다. 파일 가져오기, URL 요청, CDATA 감싸기, 전체 ASCII 변환, 불법 문자 제거는 제공하지 않습니다.

XML 이스케이프 질문

HTML 엔티티를 XML에서도 쓸 수 있나요?

HTML의 많은 이름은 XML에 기본 정의되어 있지 않습니다. XML 이스케이프는 다섯 이름만 허용하며 줄바꿈 없는 공백은 실제 유니코드 문자나  으로 표현할 수 있습니다.

예약된 기호를 왜 엔티티로 표현하나요?

데이터의 &나 <가 마크업으로 읽히는 것을 막기 위해서입니다. 이 도구는 ]]>가 그대로 생기지 않도록 >도 처리하고, 속성에서는 따옴표와 공백까지 목적에 맞게 바꿉니다.

변환할 텍스트가 외부 서버로 전달되나요?

입력 영역 아래의 개인정보 안내를 확인하세요. 피드백으로 내용을 보내는 것은 별도로 선택하는 동작이므로, 공유하지 않을 원문을 피드백에 포함하지 마세요.

어떤 경우에 CDATA로 감싸는 것이 적절한가요?

꺾쇠가 많은 본문에는 편리할 수 있지만 속성 안에서는 사용할 수 없고 종료 기호 ]]>를 포함할 수 없습니다. 이 페이지는 CDATA 구문을 만들어 주지 않습니다.

잘못 작성된 엔티티를 XML 파서는 어떻게 처리하나요?

XML 파서는 잘못된 참조나 선언되지 않은 엔티티를 오류로 처리합니다. 이 복원기도 참조 오류가 있으면 중단하지만, 성공했다고 전체 XML 문법이 검증된 것은 아닙니다.

예상하지 못한 결과가 나왔나요?

실제 값으로 비교하기

XML 이스케이프에 &, 따옴표, 줄바꿈이 있는 값을 넣고 텍스트와 속성 결과를 비교하세요.