CSV to XML 변환기

최신 API는 주로 JSON을 선호하지만, 여전히 많은 기업 시스템은 XML을 요구합니다. SOAP 서비스, 구형 마켓플레이스용 제품 피드, SEPA 결제 파일, XBRL 보고서 등이 그 예입니다. 이 변환기는 CSV 파일을 입력받아 루트 요소와 각 행의 항목 요소 이름을 지정하면, 각 열 머리글이 행 내부의 자식 요소가 되는 올바른 형식의 XML 문서를 생성합니다. 특수 문자는 이스케이프 처리되고 유효하지 않은 XML 태그 이름은 정리되므로, 결과물이 어디서나 올바르게 파싱됩니다.

XML이 생성되는 방식

  1. 1

    CSV 파일을 붙여넣으세요

    컨버터가 각 필드 요소에 어떤 이름을 붙여야 하는지 알 수 있도록 헤더 행을 포함하세요.

  2. 2

    루트와 항목 이름 지정

    기본값은 `<items>`와 `<item>`입니다. 문자나 밑줄(_)로 시작하는 이름으로 자유롭게 바꿀 수 있습니다.

  3. 3

    태그 이름 정리

    문자, 숫자, 밑줄이 아닌 문자는 밑줄로 바뀌며, 문자로 시작하지 않는 태그는 안전한 기본값으로 대체됩니다.

  4. 4

    값 이스케이프 처리

    값 안의 앰퍼샌드, 꺾쇠괄호, 따옴표는 XML 엔티티로 대체되어 출력이 항상 유효하게 유지됩니다.

출력 결과의 모습과 작동 위치

입력 CSV

sku,name,price
A-101,Widget,9.99
B-202,Gadget,14.50

기본값을 사용한 XML 출력

<?xml version="1.0" encoding="UTF-8"?>
<items>
  <item>
    <sku>A-101</sku>
    <name>Widget</name>
    <price>9.99</price>
  </item>
  <item>
    <sku>B-202</sku>
    <name>Gadget</name>
    <price>14.50</price>
  </item>
</items>

태그 이름 규칙 (XML 1.0)

허용 불허용
문자, 숫자, 하이픈, 밑줄, 마침표 공백, &, <, >, 따옴표, 괄호, 슬래시
문자 또는 밑줄로 시작해야 함 숫자나 문장 부호로 시작할 수 없음
xml 접두사는 예약되어 있음 xml로 시작하는 태그는 거부될 수 있음

변환기는 헤더 이름에 포함된 잘못된 문자를 조용히 밑줄로 대체합니다. 헤더가 숫자로 시작하면 태그 전체가 field_N로 대체됩니다.

이스케이프 표

값은 ENT_XML1 플래그와 함께 htmlspecialchars를 거치므로 다음 문자가 대체됩니다:

  • &&amp;
  • <&lt;
  • >&gt;
  • "&quot;
  • '&apos;

자주 쓰이는 후속 활용 사례

  • 구형 마켓플레이스나 가격 비교 사이트용 제품 피드.
  • 스프레드시트 데이터로 샘플 페이로드를 만들어야 하는 SOAP 요청 본문.
  • 평면 레코드를 명명된 요소에 매핑하는 XBRL 또는 Dublin Core 스타일의 간단한 스키마.
  • Android 문자열 리소스. 다만 전체를 <resources>로 감싸고 항목 요소 이름을 <string name="...">로 바꿔야 합니다.

자주 묻는 질문

문자, 숫자, 밑줄이 아닌 문자는 밑줄로 대체되므로 Product NameProduct_Name이 됩니다. 정리된 이름이 문자나 밑줄로 시작하지 않으면 XML 유효성을 유지하기 위해 field_N로 대체됩니다.

직접적으로는 아니지만, 모든 CSV 필드는 항목 내의 자식 요소로 변합니다. 속성 기반 XML의 경우 출력 결과를 후처리하거나 스키마에 맞는 전용 도구를 사용해야 합니다.

네. 출력 결과는 <?xml version="1.0" encoding="UTF-8"?>로 시작합니다. 해당 조각을 더 큰 문서 내에 삽입할 경우 이를 수동으로 제거하세요.

네. 붙여넣은 CSV는 서버로 전송됩니다. 파싱, 이스케이핑, XML 구성은 서버에서 수행되며, CSV는 XML 출력 생성에만 사용되고 저장되지 않습니다.

관련 도구