Python:
Trabalhando com XML

Como fazer:

O módulo xml.etree.ElementTree do Python oferece ferramentas para trabalhar com XML.

Analisar um documento 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'Título: {title}, Autor: {author}')

Saída de exemplo:

Título: Learning Python, Autor: Mark Lutz
Título: Programming Python, Autor: Mark Lutz

Criar um documento 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')

Aprofundamento:

O XML existe desde o final dos anos 90, criado como um subconjunto simplificado do SGML para facilitar o compartilhamento de dados online. Apesar da crescente popularidade do JSON para dados web, o XML continua vital em muitas empresas, configurações e serviços web (SOAP, RSS).

Alternativas ao xml.etree.ElementTree incluem lxml e minidom. O lxml é mais rápido e possui mais recursos, enquanto o minidom oferece uma interface XML mais “DOM-like”. Ao escolher, considere a facilidade de uso, desempenho e requisitos específicos de recursos.

Por trás dos panos, o ElementTree opera em um modelo de árvore de elementos, onde cada componente do arquivo XML é um nó em uma árvore. Isso permite expressões de caminho e buscas diretas, facilitando a navegação e manipulação da estrutura de dados XML.

Veja Também: