Tutorial

Python에서 JSON을 XML로 변환하는 방법 – 코드 예제가 포함된 완전한 튜토리얼

xmltodict와 dicttoxml을 사용하여 Python에서 JSON을 XML로 변환하는 방법을 단계별로 학습하세요. 예제, 코드 스니펫, 무료 온라인 변환기가 포함되어 있습니다.

2025-10-11
5 min read

🐍 Python으로 JSON을 XML로 변환하는 방법: 코드 예제가 포함된 완전한 튜토리얼

JSONXML 형식 간의 데이터 변환은 웹 개발, 데이터 통합, API 설계에서 일반적인 작업입니다.

레거시 시스템을 마이그레이션하거나 새로운 애플리케이션을 구축할 때 Python에서 이 변환을 효율적으로 수행하는 방법을 알면 많은 시간을 절약할 수 있습니다.

이 가이드에서는 기본 예제부터 프로덕션 준비 스니펫까지 필요한 모든 것을 안내합니다.


🔍 JSON과 XML이란 무엇인가요?

코드로 들어가기 전에 이 두 형식이 무엇을 나타내는지 명확히 하겠습니다.

  • JSON (JavaScript Object Notation)

주로 API와 웹 앱에서 사용되는 가벼우면서 사람이 읽을 수 있는 형식입니다.

  • XML (Extensible Markup Language)

엔터프라이즈 시스템, 설정 파일, 레거시 통합에서 널리 사용되는 마크업 기반 형식입니다.

두 형식 모두 계층적으로 데이터를 구조화하지만, 구문과 메타데이터 표현이 다릅니다.


⚙️ 설정: 필요한 라이브러리 설치

Python에는 내장된 XML-JSON 변환 유틸리티가 없지만, xmltodict와 같은 가벼운 패키지를 설치할 수 있습니다.

pip install xmltodict

또는 JSON → XML 변환만 필요한 경우 dicttoxml을 사용할 수 있습니다.

pip install dicttoxml


🧩 예제 1: xmltodict를 사용하여 JSON을 XML로 변환

JSON을 XML로 변환하는 가장 간단한 방법:

import json
import xmltodict

# 샘플 JSON 문자열
json_data = '{"user": {"name": "Alice", "age": 25, "city": "Tokyo"}}'

# JSON을 Python 딕셔너리로 변환
data_dict = json.loads(json_data)

# 딕셔너리를 XML로 변환
xml_data = xmltodict.unparse(data_dict, pretty=True)

print(xml_data)

출력:

<?xml version="1.0" encoding="utf-8"?>
<user>
    <name>Alice</name>
    <age>25</age>
    <city>Tokyo</city>
</user>

💡 팁:

다음과 같은 매개변수를 사용하여 사용자 정의 루트 태그를 설정하거나 XML 헤더를 생략할 수 있습니다:

xmltodict.unparse(data_dict, full_document=False)


🧠 예제 2: dicttoxml을 사용하여 JSON을 XML로 변환

dicttoxml은 속성과 타입 주석에 대해 더 많은 제어를 제공합니다.

import json
from dicttoxml import dicttoxml

json_data = '{"product": {"id": 101, "name": "Laptop", "price": 899.99}}'
data_dict = json.loads(json_data)

xml_data = dicttoxml(data_dict, custom_root='catalog', attr_type=False)
print(xml_data.decode())

출력:

<catalog>
  <product>
    <id>101</id>
    <name>Laptop</name>
    <price>899.99</price>
  </product>
</catalog>


🔄 보너스: XML을 JSON으로 다시 변환

프로세스를 쉽게 역전시킬 수 있습니다:

import xmltodict
import json

xml_data = """
<user>
  <name>Alice</name>
  <age>25</age>
</user>
"""

data_dict = xmltodict.parse(xml_data)
json_output = json.dumps(data_dict, indent=4)

print(json_output)

결과:

{
    "user": {
        "name": "Alice",
        "age": "25"
    }
}


🚀 전체 스크립트 예제

프로젝트에서 재사용할 수 있는 컴팩트한 함수:

import json
import xmltodict

def json_to_xml(json_string: str, root_tag: str = None) -> str:
    data = json.loads(json_string)
    if root_tag:
        data = {root_tag: data}
    return xmltodict.unparse(data, pretty=True)

# 사용법
sample_json = '{"device": {"id": 123, "status": "active"}}'
xml_result = json_to_xml(sample_json, root_tag="devices")
print(xml_result)


🌐 온라인 대안: 즉시 변환

코드를 작성하고 싶지 않으신가요?

대신 무료 온라인 변환기를 사용해보세요 — JSON을 붙여넣거나 업로드하여 깔끔한 XML을 즉시 다운로드하세요:

👉 JSON을 XML로 변환 – 무료 온라인 도구

  • • ✅ 100% 무료이고 비공개
  • • ⚡ 즉시 변환
  • • 📁 업로드 및 다운로드 지원


🏁 결론

xmltodictdicttoxml과 같은 도구를 사용하면 Python에서 JSON을 XML로 변환하는 것이 간단합니다.

API 데이터를 처리하거나 구조화된 보고서를 내보낼 때 이러한 스니펫이 대부분의 사용 사례를 처리할 것입니다.

빠른 변환이 필요한 경우 다음으로 이동하세요:

🔗 https://www.jsonwork.com/ko/json-to-xml

온라인에서 시도해보세요 — 설정이 필요하지 않습니다!


JsonWork.com에서 작성 – JSON을 온라인에서 변환하는 가장 빠른 방법.
👨‍💻

JsonWork 팀

개발자에게 최고의 JSON 처리 도구를 제공하는 데 전념

관련 게시물

더 많은 게시물이 곧 출시됩니다...

도움이 필요하신가요?