Tratando XML como um objeto Python

Algumas vezes, o XML como ele vem é praticamente o que você precisa, sem necessidade de parsear o XML para suas necessidades. Algum tempo atrás eu enfrentei esse “problema”, não queria fazer o parsing do XML pois o formato dele já atendia minhas necessidades. Existem algumas soluções, mas todas precisam do DTD do XML para poderem converter a árvore do XML em objetos. Felizmente, o lxml (sempre ele) veio a salvação. É realmente a melhor biblioteca XML do Python.

from lxml import objectify
 
xml = """
<test>
<inside>2</inside>
<another>
<deep>so deep</deep>
</another>
</test>"""
 
obj = objectify.fromstring(xml)
 
print obj.inside
print obj.another.deep

E você ainda pode percorrer as tags filhas e tudo mais, nada muda.

Use Facebook to Comment on this Post