Python:
Praca z XML

Jak to zrobić:

Moduł xml.etree.ElementTree w Pythonie oferuje narzędzia do pracy z XML.

Przetwarzanie dokumentu XML:

import xml.etree.ElementTree as ET

xml_data = """<?xml version="1.0"?>
<library>
    <book>
        <title>Nauka Pythona</title>
        <author>Mark Lutz</author>
    </book>
    <book>
        <title>Programowanie w Pythonie</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'Tytuł: {title}, Autor: {author}')

Przykładowe wyjście:

Tytuł: Nauka Pythona, Autor: Mark Lutz
Tytuł: Programowanie w Pythonie, Autor: Mark Lutz

Tworzenie dokumentu XML:

library = ET.Element('library')
book = ET.SubElement(library, 'book')
title = ET.SubElement(book, 'title')
title.text = 'Automatyzowanie nudnych zadań z Pythonem'
author = ET.SubElement(book, 'author')
author.text = 'Al Sweigart'

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

Pogłębiona analiza:

XML istnieje od końca lat ‘90, stworzony jako uproszczony podzbiór SGML dla łatwego internetowego udostępniania danych. Pomimo rosnącej popularności JSON dla danych internetowych, XML pozostaje kluczowy w wielu przedsiębiorstwach, konfiguracjach oraz usługach internetowych (SOAP, RSS).

Alternatywy dla xml.etree.ElementTree obejmują lxml i minidom. lxml jest szybszy i bogatszy w funkcje, podczas gdy minidom zapewnia bardziej “DOM-podobny” interfejs XML. Przy wyborze należy wziąć pod uwagę łatwość użycia, wydajność i specyficzne wymagania funkcjonalne.

Wewnątrz, ElementTree działa na modelu drzewa elementów, gdzie każdy komponent pliku XML jest węzłem w drzewie. Pozwala to na proste wyrażenia ścieżek i wyszukiwania, ułatwiając nawigację i manipulację strukturą danych XML.

Zobacz również: