Ho un oggetto eTree chiamato ProjectXML:Come salvare un oggetto xml etree? il risparmio di carico lxml problema oggetti eTree
projetxml type <type 'lxml.etree._Element'>
ho bisogno di salvarlo su disco, in modo da convertirlo in albero elemento:
savedxml=et.ElementTree(projetxml)
savedxml.write('/home/simon/Vysis.xml')
Un altro script aveva per caricare il la Vysis.xml e gli altri due file dello stesso tipo:
vysis=et.parse('/home/simon/Vysis.xml')
asi=et.parse('/home/simon/ASI.xml')
psi=et.parse('/home/simon/PSI.xml')
Ora asi, psi e Vysis lxml oggetti sono del tipo ad esempio:
<lxml.etree._ElementTree object at 0xa7eaf8c>
mio problema è che non posso più fare:
R=et.Element('DataBase')
R.append(asi)
R.append(psi)
R.append(vysis)
a causa dell'errore:
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)
Suppongo di avere due soluzioni. Il primo potrebbe essere evitare di convertire etree.Element in etree.ElementTree e di salvarlo "direttamente", ma non so come. La seconda soluzione sarebbe quella di riconvertire etree.ElementTree in etree.Element type ... Dovrebbe esserci una soluzione pulita per salvare/caricare un oggetto xml?
forse questo è quello che state cercando ?: http://stackoverflow.com/questions/8274438/saving-an-lxml-etree-elementtree-object – cptPH