두 XML 파일 비교하는 방법
- 왼쪽에 원본 XML을, 오른쪽에 변경된 XML을 붙여넣거나 끌어다 놓습니다. 입력하는 대로 결과가 바로 갱신됩니다.
- 무시할 항목을 선택합니다: 텍스트의 공백, 주석, 속성 순서. 변경 없는 줄 숨기기를 켜면 긴 문서도 짧게 볼 수 있습니다.
- 추가·삭제·변경된 줄의 요약을 확인한 뒤 나란히 보기에서 차이를 살펴봅니다. 좌우 바꾸기로 비교 방향을 뒤집을 수 있습니다.
XML 비교에서 무시되는 차이
| 차이 | 무시 여부 |
|---|---|
| 요소 사이의 들여쓰기와 줄바꿈 | 항상 무시 |
| 속성 값을 감싼 작은따옴표/큰따옴표 | 항상 무시 |
<a/> 또는 <a></a> | 항상 무시 |
| 텍스트 안의 여분 공백과 줄바꿈 | 텍스트의 공백 무시 옵션 사용 시(기본값: 켜짐) |
| 주석 | 주석 무시 옵션 사용 시 |
| 속성 순서 | 속성 순서 무시 옵션 사용 시(기본값: 켜짐) |
| 요소 순서 | 무시하지 않음 – 이동한 요소는 삭제 후 추가된 것으로 표시 |
네임스페이스 접두사, & / & 표기, CDATA / 이스케이프된 텍스트 | 무시하지 않음 – 작성된 그대로 비교 |
XML 비교 방식
두 문서를 파싱하고 선택한 옵션에 따라 정규화한 뒤, 똑같이 공백 2칸 들여쓰기로 다시 출력합니다. 이렇게 만든 줄들을 git diff의 기본 방식인 Myers diff 알고리즘으로 비교합니다. 바뀐 줄은 변경된 줄로 짝지어 표시하고, 변경 없는 줄이 길게 이어지면 접어 둘 수 있습니다. 결과는 이렇게 정렬된 버전을 기준으로 하므로 줄 위치가 원본 파일과 다를 수 있습니다.
자주 묻는 질문
요소 순서도 차이로 인식되나요?
네. XML에서 요소에는 순서가 있으므로, 위치가 바뀐 요소는 한 곳에서 삭제되고 다른 곳에 추가된 것으로 표시됩니다. XML에서 의미가 없는 속성 순서만 무시할 수 있습니다.
똑같아 보이는데 왜 다르다고 나오나요?
옵션을 확인하세요. 해당 옵션이 꺼져 있으면 주석, 속성 순서, 텍스트 안의 공백도 차이로 계산됩니다. 네임스페이스 접두사와 &, & 같은 엔티티 표기도 작성된 그대로 비교됩니다.
형식이 올바르지 않은 XML도 비교할 수 있나요?
아니요. 두 문서 모두 먼저 파싱되어야 합니다. 한쪽에 오류가 있으면 해당 쪽 아래에 줄·열 위치와 함께 표시되니, 그 자리에서 고치거나 XML 검증기에서 수정하세요.
데이터가 업로드되나요?
아니요. 비교는 브라우저에서 실행되며 서버로 아무것도 전송되지 않습니다.