Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬(Python)으로 XML 생성하는 방법 – dicttoxml 활용 가이드

파이썬에서 딕셔너리(dictionary) 데이터를 XML 형식으로 변환하고 싶다면 dicttoxml 패키지를 사용하는 것이 가장 간편한 방법입니다. 이 패키지는 복잡한 설정 없이 파이썬 객체를 손쉽게 XML 문자열로 변환해 줍니다.

dicttoxml 설치하기

먼저 pip를 이용해 dicttoxml 패키지를 설치합니다.

$ pip install dicttoxml

기본 사용법

설치가 완료되면 dicttoxml() 메서드를 호출하여 딕셔너리를 XML로 변환할 수 있습니다.

예제 코드

a = {
    'foo': 45,
    'bar': {
        'baz': "Hello"
    }
}
xml = dicttoxml.dicttoxml(a)
print(xml)

실행 결과

위 코드를 실행하면 다음과 같은 XML 바이트 문자열이 출력됩니다.

b'<?xml version="1.0" encoding="UTF-8" ?><root><foo type="int">45</foo><bar type="dict"><baz type="str">Hello</baz></bar></root>'

출력 결과를 보면 각 값의 자료형(type)이 자동으로 감지되어 속성으로 추가된 것을 확인할 수 있습니다. 정수는 int, 문자열은 str, 딕셔너리는 dict로 표시됩니다.

보기 좋게 포맷팅하기 (Pretty Print)

기본 출력은 한 줄로 이어져 있어 가독성이 떨어질 수 있습니다. 이럴 때는 표준 라이브러리인 xml.dom.minidom 모듈의 toprettyxml() 메서드를 함께 사용하면 들여쓰기가 적용된 보기 좋은 XML을 얻을 수 있습니다.

예제 코드

from xml.dom.minidom import parseString
a = {
    'foo': 45,
    'bar': {
        'baz': "Hello"
    }
}
xml = dicttoxml.dicttoxml(a)
dom = parseString(xml)
print(dom.toprettyxml())

실행 결과

<?xml version = "1.0" ?>
<root>
    <foo type = "int">45</foo>
    <bar type = "dict">
        <baz type = "str">Hello</baz>
    </bar>
</root>

마무리

이처럼 dicttoxml 패키지를 사용하면 단 몇 줄의 코드로 파이썬 딕셔너리를 XML로 변환할 수 있습니다. API 응답 생성, 설정 파일 작성, 데이터 교환 등 XML 형식이 필요한 다양한 상황에서 유용하게 활용할 수 있으니, 필요하다면 minidom을 조합해 원하는 형태로 결과물을 다듬어 보시기 바랍니다.