Tengo un objeto etree llamada projectxml:Cómo guardar un objeto etree xml? ahorro de carga lxml cuestión objetos eTree
projetxml type <type 'lxml.etree._Element'>
tengo que guardarlo en el disco, por lo que lo convierten en árbol de elementos:
savedxml=et.ElementTree(projetxml)
savedxml.write('/home/simon/Vysis.xml')
Un otro script tenía para cargar el la Vysis.xml y otros dos archivos de la misma clase:
vysis=et.parse('/home/simon/Vysis.xml')
asi=et.parse('/home/simon/ASI.xml')
psi=et.parse('/home/simon/PSI.xml')
Ahora asi, psi y LXML Vysis objetos son del tipo por ejemplo:
<lxml.etree._ElementTree object at 0xa7eaf8c>
Mi problema es que no puedo más hacer:
R=et.Element('DataBase')
R.append(asi)
R.append(psi)
R.append(vysis)
a causa del error:
R.append(asi)
File "lxml.etree.pyx", line 697, in lxml.etree._Element.append (src/lxml /lxml.etree.c:35471)
TypeError: Argument 'element' has incorrect type (expected lxml.etree._Element, got lxml.etree._ElementTree)
supongo que tengo dos soluciones. El primero podría ser evitar convertir etree.Element a etree.ElementTree y guardarlo "directamente", pero no sé cómo. La segunda solución sería volver convertir etree.ElementTree a etree.Element type ... ¿Debería haber una solución limpia para guardar/cargar un objeto xml?
tal vez esto es lo que busca ?: http://stackoverflow.com/questions/8274438/saving-an-lxml-etree-elementtree-object – cptPH