Mam obiektu etree nazwie projectxml:Jak zapisać obiekt xml xml? oszczędność załadunek lxml etree obiektów numerze
projetxml type <type 'lxml.etree._Element'>
muszę zapisać go na dysku, więc przekonwertować go do elementu drzewa:
savedxml=et.ElementTree(projetxml)
savedxml.write('/home/simon/Vysis.xml')
Innym skrypt miał załadować na Vysis.xml i dwa inne pliki tego samego rodzaju:
vysis=et.parse('/home/simon/Vysis.xml')
asi=et.parse('/home/simon/ASI.xml')
psi=et.parse('/home/simon/PSI.xml')
teraz asi, PSI i Vysis lxml obiekty są typu na przykład:
<lxml.etree._ElementTree object at 0xa7eaf8c>
Moim problemem jest to, że nie mogę więcej zrobić:
R=et.Element('DataBase')
R.append(asi)
R.append(psi)
R.append(vysis)
powodu błędu:
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)
Przypuszczam Mam dwa rozwiązania. Pierwszym z nich może być uniknięcie konwersji etree.Element na etree.ElementTree i zapisanie go "bezpośrednio", ale nie wiem jak. Drugim rozwiązaniem byłoby przekonwertować etree.ElementTree na etree.Element typu ... Powinno być czyste rozwiązanie do zapisania/załadowania obiektu XML?
może to jest to, czego szukasz ?: http://stackoverflow.com/questions/8274438/saving-an-lxml-etree-elementtree-object – cptPH