파이썬에서 XML 데이터 처리하기 – 완벽 가이드

파이썬에서 XML 데이터 처리하기

안녕하세요, mj입니다! 오늘은 파이썬을 사용하여 XML 데이터를 처리하는 방법에 대해 알아보겠습니다. XML은 데이터의 구조화된 표현을 가능하게 하는 마크업 언어로, 다양한 분야에서 널리 사용됩니다. 파이썬에서는 XML 데이터를 쉽게 읽고 쓸 수 있는 여러 라이브러리를 제공합니다. 이번 포스팅에서는 XML 파일을 읽고 쓰는 방법에 대해 단계별로 설명하겠습니다.

1. XML 파일 읽기

XML 파일을 읽기 위해서는 xml.etree.ElementTree 모듈을 사용할 수 있습니다. 이 모듈은 XML 문서를 파싱하고, 트리 구조로 데이터에 접근할 수 있게 해줍니다.

예제: XML 파일 읽기


import xml.etree.ElementTree as ET

# XML 파일 읽기
tree = ET.parse('example.xml')
root = tree.getroot()

# 루트 요소 출력
print("루트 요소:", root.tag)

# 자식 요소 출력
for child in root:
    print("자식 요소:", child.tag, "값:", child.text)

    

위 예제를 실행하면 다음과 같은 결과를 얻을 수 있습니다:


루트 요소: 데이터
자식 요소: 항목 값: 1
자식 요소: 항목 값: 2
자식 요소: 항목 값: 3

    

2. XML 파일 쓰기

XML 파일을 작성하려면, ElementTreeElement 클래스를 사용하여 새로운 XML 구조를 생성할 수 있습니다.

예제: XML 파일 쓰기


import xml.etree.ElementTree as ET

# 새로운 XML 요소 생성
data = ET.Element('데이터')
item1 = ET.SubElement(data, '항목')
item1.text = '1'
item2 = ET.SubElement(data, '항목')
item2.text = '2'

# XML 파일로 저장
tree = ET.ElementTree(data)
tree.write('output.xml', encoding='utf-8', xml_declaration=True)

    

위 코드를 실행하면 output.xml 파일이 생성되며, 내용은 다음과 같습니다:


<?xml version='1.0' encoding='utf-8'?>
<데이터>
    <항목>1
    <항목>2

3. XML 파일 수정하기

기존 XML 파일을 수정하고자 할 때도 ElementTree를 사용할 수 있습니다. 특정 요소를 찾아서 내용을 변경하는 방법을 살펴보겠습니다.

예제: XML 파일 수정하기


tree = ET.parse('example.xml')
root = tree.getroot()

# 첫 번째 항목 수정
root[0].text = '수정된 값'
tree.write('modified_example.xml', encoding='utf-8', xml_declaration=True)

    

이 코드를 실행하면 modified_example.xml 파일의 첫 번째 항목이 수정됩니다.

4. XML 데이터 검색하기

XML 구조에서 특정 데이터를 검색하는 방법도 중요합니다. find 또는 findall 메소드를 사용하여 원하는 요소를 찾을 수 있습니다.

예제: XML 데이터 검색하기


# 특정 요소 찾기
item = root.find('항목')
print("찾은 항목:", item.text)

    

위 코드는 첫 번째 항목의 값을 출력합니다.

5. 결론

이번 포스팅에서는 파이썬을 사용하여 XML 데이터를 읽고, 쓰고, 수정하는 방법에 대해 알아보았습니다. XML은 데이터 교환에 유용한 형식이며, 파이썬을 통해 쉽게 다룰 수 있습니다. 다양한 예제를 통해 기능을 익히셨기를 바랍니다. 궁금한 점이 있으시면 댓글로 남겨주세요!

감사합니다! mj였습니다.