[파이썬] XML 파일의 읽기와 쓰기

XML은 데이터를 저장하고 전송하기 위한 일반적으로 사용되는 형식입니다. XML 파일을 읽고 쓰는 것은 프로그래밍에서 매우 중요한 작업입니다. 이번 포스트에서는 Python을 사용하여 XML 파일을 읽고 쓰는 방법에 대해 알아보겠습니다.

XML 파일 읽기

Python에서 XML 파일을 읽으려면 xml 모듈을 사용해야 합니다. ElementTree 클래스는 XML 파일을 읽고 트리 형태로 구성하는 데 사용됩니다.

import xml.etree.ElementTree as ET

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

# 루트 요소 확인
print(root.tag)

# 자식 요소 순회
for child in root:
    print(child.tag, child.attrib)

# 요소의 속성 값 가져오기
print(root[0].attrib['attrib1'])

# 텍스트 내용 가져오기
print(root[0].text)

위의 코드에서 data.xml 파일을 읽고 XML 트리를 생성합니다. root 요소는 XML 트리의 최상위 요소입니다. root.tag를 사용하여 루트 요소의 태그 이름을 얻을 수 있습니다. root 요소의 자식 요소들을 순회하면서 태그 이름과 속성 값을 확인할 수 있습니다. 속성 값은 attrib 속성을 통해 가져올 수 있으며, 요소의 텍스트 내용은 text 속성을 통해 가져올 수 있습니다.

XML 파일 쓰기

Python에서 XML 파일을 쓰려면 Element 클래스를 사용하여 XML 요소를 생성하고 ElementTree 인스턴스를 사용하여 파일에 쓸 수 있습니다.

import xml.etree.ElementTree as ET

# XML 요소 생성
root = ET.Element('root')
child = ET.SubElement(root, 'child')
child.attrib = {'attrib1': 'value1', 'attrib2': 'value2'}
child.text = 'Hello, World!'

# XML 파일에 쓰기
tree = ET.ElementTree(root)
tree.write('output.xml')

위의 코드에서는 root 요소를 생성하고, child 요소를 root 요소의 자식 요소로 추가합니다. child.attrib를 사용하여 요소의 속성 값을 설정하고, child.text를 사용하여 요소의 텍스트 내용을 설정합니다. ElementTree 인스턴스를 사용하여 XML 요소를 파일에 씁니다.

다음과 같이 생성된 output.xml 파일을 확인해보세요.

<root>
    <child attrib1="value1" attrib2="value2">Hello, World!</child>
</root>

이제 Python을 사용하여 XML 파일을 읽고 쓰는 방법을 알게 되었습니다. 이를 활용하여 XML 데이터를 처리하고 다양한 작업을 수행할 수 있습니다.