ElementTree representa elementos, atributos y texto como un árbol. Sirve para integraciones, feeds y formatos heredados sin añadir una dependencia para operaciones básicas.

Ejemplo práctico

from xml.etree.ElementTree import fromstring

xml = "<orders><order id='A1'><total>42.50</total></order></orders>"
root = fromstring(xml)
order = root.find("order")
if order is None:
    raise ValueError("missing order")
print(order.attrib["id"], order.findtext("total"))

Consultas y namespaces

find() puede devolver None, así que valida elementos obligatorios antes de usar sus datos. En documentos con namespace, pasa un mapa de prefijos en lugar de quitar las URI manualmente.

Limita la entrada externa

No supongas que el XML recibido es pequeño o seguro. Limita tamaño y profundidad y considera una biblioteca reforzada para XML hostil o requisitos avanzados. Valida también tipos y reglas después del parsing.

Sigue aprendiendo

Consulta también Pathlib Python: Guía Completa para Manipular Archivos y Unicode, Bytes y UTF-8 en Python: Guía Práctica. A documentación oficial de Python, consultada el 22 de julio de 2026, detalla la API y el comportamiento entre versiones.