CSV → XML 변환기

CSV/TSV 데이터를 붙여넣으면 각 행을 하나의 레코드로 하는 XML(... 형식)로 변환합니다.

사용 팁

  • "첫 번째 줄을 헤더로 처리"를 활성화하면 헤더 행의 열 이름이 그대로 XML 태그 이름으로 사용됩니다(숫자로 시작하거나 기호를 포함하는 등 XML 태그 이름으로 사용할 수 없는 헤더는 `column1`, `column2`... 로 자동 대체됩니다).
  • 헤더를 사용하지 않으면 모든 행이 데이터 행으로 처리되며, 각 열은 `column1`, `column2`... 라는 태그 이름이 됩니다.
  • 레거시 XML 기반 API, SOAP 연동, 일부 업무 시스템으로의 데이터 반입 등 CSV가 아닌 XML 형식이 필요한 상황에서 활용하세요.
  • 생성된 XML은 문자 개체 참조(`&`, `<`, `>`)로 특수 문자를 안전하게 이스케이프하므로 그대로 외부 시스템에 반입할 수 있습니다.

자주 묻는 질문

SOAP 기반 웹 서비스나 오랫동안 운영되어 온 업무 시스템·기간 시스템 중 다수는 JSON이 보급되기 이전부터 XML을 표준 데이터 형식으로 채택해 왔으며, 지금도 XML 형식의 데이터 연동을 전제로 하고 있습니다. 그래서 이러한 시스템과 연동할 때 CSV를 XML로 변환해야 하는 실무 수요가 여전히 존재합니다.

XML 태그 이름에는 "숫자로 시작할 수 없다", "특정 기호를 포함할 수 없다" 등의 명명 규칙이 있습니다. 헤더 이름이 이 규칙을 위반하는 경우(예: 숫자로 시작하는 열 이름, 공백이나 기호를 포함하는 열 이름) 올바른 XML로 해석할 수 없게 되므로, 이 도구에서는 자동으로 `column1`, `column2`... 와 같은 안전한 태그 이름으로 대체합니다.

모두 동일한 CSV 파싱 로직을 사용하지만 출력 형식이 다릅니다. JSON·SQL·Markdown·HTML·XML 등 연동 대상 시스템이나 용도에 맞는 출력 형식을 선택할 수 있도록 CSV 변환 시리즈로 여러 도구를 제공하고 있습니다.

이 도구는 `&`, `<`, `>` 등 XML 특수 문자를 자동으로 문자 개체 참조(`&`, `<`, `>`)로 이스케이프한 후 출력하므로, 셀 값에 이러한 문자가 포함되어 있어도 올바르게 파싱 가능한 XML로 생성됩니다.
ツールくん

여담 ― XML이 "장황하다"고 불리게 된 이유

XML(Extensible Markup Language)은 1998년 W3C에서 표준화되었으며, 2000년대 초반 웹 업계에서 "시스템 간 데이터를 주고받기 위한 표준 형식"으로서 압도적인 지위를 구축하고 있었습니다. SOAP·XML-RPC 등의 통신 규격, RSS·Atom 피드 배포, 나아가 설정 파일(Maven의 pom.xml 등)에 이르기까지 다양한 곳에서 XML이 채택되었습니다.

그러나 동일한 데이터를 표현할 때 XML은 태그로 시작과 종료를 매번 명시해야 하기 때문에, JSON(2000년대 중반 이후 보급)에 비해 데이터 용량이 커지기 쉬워 "장황하다(verbose)"는 평가를 받게 되었습니다. 예를 들어 `{"name":"Alice"}`라는 JSON에 대응하는 XML은 `Alice`처럼 태그 자체의 문자 수가 데이터보다 많아지는 경우도 드물지 않습니다.

그럼에도 XML에는 "XML Schema를 통한 엄격한 타입·구조 검증", "네임스페이스를 통한 충돌 회피", "XSLT를 통한 변환 처리" 등 JSON에는 없는 성숙한 사양들이 있습니다. 지금도 금융·의료·행정 등 미션 크리티컬한 시스템 간 연동에서 XML이 계속 선택되는 것은 이 검증·변환 생태계의 충실도가 이유 중 하나로 꼽힙니다.