XML 정리·XPath
공공데이터포털 API 응답처럼 한 줄로 붙은 XML을 넣으면 읽기 쉽게 들여써 줘요.
XPath로 찾기
XML 보기 좋게 정리하기
XML은 태그로 데이터를 감싸는 형식으로, 공공데이터포털 API 응답, RSS 피드, 사이트맵(sitemap.xml), SOAP 웹서비스, 안드로이드·메이븐 설정, 오피스 문서 내부 등에 널리 쓰여요. 서버가 보내는 XML은 보통 줄바꿈 없이 한 줄로 붙어 있어서 읽기 어려운데, 붙여넣으면 태그 깊이에 맞춰 2칸·4칸·탭으로 들여써 줘요. 반대로 ‘한 줄로 압축’은 태그 사이 빈칸·줄바꿈을 빼서 크기를 줄여요.
정리 규칙
글자만 든 요소(<name>홍길동</name>)는 한 줄에 두고, 자식 요소가 있으면 줄을 바꿔 들여써요. 글자와 태그가 섞인 요소(예: XHTML 문단)와 xml:space="preserve"가 붙은 요소는 내용을 바꾸지 않도록 그대로 둬요. 속성 순서·값, CDATA 구간, 주석, 처리 명령(<?…?>), DOCTYPE은 유지하고, 주석은 원하면 뺄 수 있어요. 빈 요소는 <tag/>로 적어요. 정리 결과는 파이썬 xml 모듈로 다시 읽어 원본과 같은 데이터인지 검증했어요.
오류 찾기와 XPath
태그가 닫히지 않았거나, 이름이 맞지 않거나, &가 그대로 적힌 경우처럼 형식이 틀리면 브라우저 XML 해석기가 알려 준 줄·글자 위치를 보여 줘요. 아래 ‘XPath로 찾기’에 식을 넣으면 해당하는 요소·속성·글자를 목록으로 보여 줘요. //item/title(모든 item의 title), //item[price > 1000](조건), //@id(속성), count(//item)(개수), sum(//price)(합계)처럼 쓸 수 있어요. 기본 네임스페이스(xmlns="…")가 있는 XML은 요소 이름 앞에 x:를 붙이면 찾을 수 있어요(예: sitemap.xml의 //x:loc).
XPath는 브라우저가 기본으로 지원하는 XPath 1.0이에요. 모든 처리는 이 기기에서만 이뤄져요.
참고한 자료
자주 묻는 질문
‘XML 형식 오류’가 나와요.
알려 준 줄 근처에서 닫는 태그 누락, 대·소문자가 다른 태그, &를 &로 적지 않은 곳을 찾아보세요.
HTML도 정리되나요?
XHTML처럼 태그가 모두 닫힌 문서만 돼요. 일반 HTML은 XML 규칙이 아니라서 오류가 날 수 있어요.
XPath가 아무것도 못 찾아요.
문서에 xmlns="…" 기본 네임스페이스가 있으면 //x:태그 형식으로 써 보세요.
함께 쓰면 좋은 도구
- JSON 정리 (보기 좋게 들여쓰기·검증·압축)JSON을 보기 좋게 들여쓰기, 오류 위치 표시, 한 줄 압축, 키 정렬, 문자열 이스케이프
- JSON·YAML·TOML·CSV 변환기 (설정 파일·데이터 형식 바꾸기)JSON, YAML, TOML, CSV(TSV) 사이를 서로 바꾸고, 형식 오류 위치를 알려 주며, 결과를 파일로 저장
- 사이트맵 XML 만들기 (sitemap.xml 생성)페이지 주소 목록으로 sitemap.xml 만들기, 수정일·변경 빈도·우선순위, robots.txt 줄까지
- HTML 엔티티 변환 (< & 인코딩·디코딩)< > & 같은 글자를 < > &로 바꾸고, 가 같은 엔티티를 원래 글자로 풀기
- 정규식 테스트 (정규표현식 매칭 확인)패턴과 플래그로 일치하는 부분을 강조 표시, 그룹 값 표, 바꾸기 미리보기, 자주 쓰는 패턴
- Base64 인코딩·디코딩 (글자·파일 ↔ Base64)글자(한글 UTF-8)를 Base64로, Base64를 글자로, 파일·이미지를 data URI로, Base64를 파일로 저장