서버전송 없음 · 브라우저 처리
XML 정리·검사
XML을 읽기 좋게 펼치고 태그 짝 오류 위치를 짚어줘요.
즐겨찾기하면 홈에서 바로 찾을 수 있어요
이럴 때 쓰세요
한 줄 XML을 들여쓰기해 구조 파악
태그 짝이 안 맞는 위치 찾기
RSS·SOAP 응답 구조 확인
이렇게 사용하세요
11단계XML 입력에 내용을 붙여넣으면 바로 시작해요
22단계예쁘게 버튼을 누르면 결과가 아래에 나타나요
33단계복사 버튼으로 결과를 바로 가져다 쓸 수 있어요
결과가 예상과 다를 때
결과가 잘려 보여요
전체 결과는 복사 버튼으로 받을 수 있어요.
입력한 내용이 사라졌어요
이 기기에 자동 저장돼요. 브라우저 저장소를 지우면 함께 사라져요.
자주 하는 실수
- 요소 사이 공백을 먼저 지우기 때문에 본문에 '값 > <값' 처럼 부등호가 들어가 있으면 앞뒤 글자가 붙어 태그로 오해됩니다.
- 대소문자를 구분합니다. Item 을 여는 태그를 item 으로 닫으면 짝이 안 맞다고 보고돼요.
- 모든 태그를 스스로 닫아야 합니다. 빈 요소 표기도 자기 닫힘으로만 통과해 닫히지 않은 태그로 잡힙니다.
- 속성값에 큰따옴표가 없거나 앰퍼샌드가 그대로 있으면 여기서는 걸러지지 않습니다. 원본 규칙에 어긋나도 이 단계는 통과해요.
계산 근거
형식이 맞는 XML은 여는 태그마다 같은 이름의 닫는 태그가 있어야 하고, 속성값은 큰따옴표로 묶여야 하며 앰퍼샌드는 & 로 써야 합니다. 이 검사는 이름과 중첩 깊이만 비교하므로 문서 유형 선언이나 외부 스키마 규약(XML Schema)은 따로 검증하지 않습니다.
실제로 계산해 보면
154바짜리 요청 응답 문서를 정리하면 몇 줄이 되나요?
10줄이 됩니다. 문서 선언, Envelope, Body, GetPrice, ID가 단계별로 벌어지며 각 줄은 앞 태그 깊이만큼 두 칸씩 밀립니다.
' ' 를 넣으면?
c 는 자기 닫힘이라 빠지고 스택에 a 와 b 가 남습니다. 그래서 '닫히지 않은 태그: ' 로 알려줍니다.
더 궁금한 것
텍스트 안의 공백은 그대로 남나요?
요소 사이 공백만 지워집니다. 요소 안쪽 글자 사이 공백은 유지되지만 글자가 따로 줄로 올라가면서 줄바꿈 위치는 바뀝니다.
내용 전체가 올바른지도 확인되나요?
태그 이름과 짝, 닫힘만 봅니다. 속성 개수나 값 형식, 참조되는 파일의 존재 여부는 여기서 다루지 않습니다.
정리한 결과를 해시값으로 써도 되나요?
내용은 같지만 공백과 들여쓰기가 달라 바이트 수가 바뀝니다. 서명이나 캐시 비교용이라면 원본 그대로 쓰는 편이 낫습니다.
알아둘 경계값
- 꺾쇠로 시작하지 않는 글은 내용 검사 없이 안내만 나와요. 앞에 붙은 설명글이 있으면 지우고 넣으세요.
- 짝 불일치가 나오면 그 자리에서 멈추고 정리 결과가 전혀 안 나와요. 어디가 어긋났는지 메시지에서 위치를 보세요.
- CDATA 안의 부등호가 토큰을 갈라요. 본문에 꺾쇠가 있으면 CDATA 구간을 의심하고 원본을 보세요.
- 속성값에 스스로 닫는 표시가 들어 있으면 거기서 태그가 끝난 것으로 봐요. 경로 같은 값은 따로 떼어 검사하세요.
- 짝 없는 닫는 태그는 잡지 못하고 그냥 들여써서 넘겨요. 덤으로 들어간 닫는 태그가 있는지 눈으로 보세요.
- 태그 사이 원래 공백은 버려지고 두 칸으로 다시 매겨져서 차이 비교가 크게 나와요. 비교 전에는 원본을 보관하세요.
결과를 믿기 전 확인 목록
- 입력 맨 앞이 꺾쇠로 시작하는지 넣기 전에 보세요.
- 오류 메시지가 가리키는 태그 이름부터 찾았는지 보세요.
- CDATA 안에 꺾쇠가 없는지 원본에서 미리 보세요.
- 속성값에 스스로 닫는 표시가 없는지 미리 보세요.
- 덤으로 들어간 닫는 태그가 없는지 끝까지 보세요.
- 정리 전 원본을 따로 저장했는지 실행 전에 보세요.
- 대소문자가 여는 쪽과 닫는 쪽에 같은지 보세요.
- 속성값 따옴표가 짝을 이루는지 원본에서 보세요.
- 결과를 해시 비교용으로 쓰지 않았는지 보세요.
자주 묻는 질문
어디까지 검사하나요?
태그 짝 맞춤과 기본 구조를 확인합니다. 스키마 검증은 아닙니다.
스키마 검증도 되나요?
아니요. 태그 짝과 기본 구조만 확인해요. XSD 기반 검증이 필요하면 별도 도구를 쓰세요.