Python:
XML 다루기

방법:

Python의 xml.etree.ElementTree 모듈은 XML 작업을 위한 도구를 제공합니다.

XML 문서를 파싱하기:

import xml.etree.ElementTree as ET

xml_data = """<?xml version="1.0"?>
<library>
    <book>
        <title>Learning Python</title>
        <author>Mark Lutz</author>
    </book>
    <book>
        <title>Programming Python</title>
        <author>Mark Lutz</author>
    </book>
</library>
"""

root = ET.fromstring(xml_data)
for book in root.findall('book'):
    title = book.find('title').text
    author = book.find('author').text
    print(f'제목: {title}, 저자: {author}')

샘플 출력:

제목: Learning Python, 저자: Mark Lutz
제목: Programming Python, 저자: Mark Lutz

XML 문서 생성하기:

library = ET.Element('library')
book = ET.SubElement(library, 'book')
title = ET.SubElement(book, 'title')
title.text = 'Automate the Boring Stuff with Python'
author = ET.SubElement(book, 'author')
author.text = 'Al Sweigart'

tree = ET.ElementTree(library)
tree.write('library.xml')

심화 학습:

XML은 90년대 후반 SGML의 간소화된 하위 집합으로 생성되어 온라인 데이터 공유를 쉽게 하기 위한 것입니다. 웹 데이터에 대한 JSON의 인기가 높아지고 있음에도 불구하고, XML은 여전히 많은 기업, 설정 및 웹 서비스(SOAP, RSS)에서 중요한 역할을 합니다.

xml.etree.ElementTree의 대안으로는 lxmlminidom이 있습니다. lxml은 더 빠르고 기능이 풍부하지만, minidom은 더 “DOM-스타일"의 XML 인터페이스를 제공합니다. 선택할 때 사용의 용이성, 성능, 그리고 특정 기능 요구사항을 고려하세요.

내부적으로, ElementTree는 요소 트리 모델을 사용합니다. 여기서 XML 파일의 각 구성 요소는 트리의 노드입니다. 이를 통해 직관적인 경로 표현과 검색이 가능하여 XML 데이터의 구조를 탐색하고 조작하기가 더 쉽습니다.

참고: