Как сохранить объект etree xml? сохранение загрузки объектов etree lxml проблема

У меня есть объект etree с именем projectxml:

projetxml type <type 'lxml.etree._Element'>

Мне нужно сохранить его на диске, поэтому я преобразовываю его в дерево элементов:

savedxml=et.ElementTree(projetxml)
savedxml.write('/home/simon/Vysis.xml')

Другой скрипт должен был загрузить Vysis.xml и два других файла того же типа:

vysis=et.parse('/home/simon/Vysis.xml')
asi=et.parse('/home/simon/ASI.xml')
psi=et.parse('/home/simon/PSI.xml')

Теперь объекты asi, psi и vysis lxml имеют тип, например:

<lxml.etree._ElementTree object at 0xa7eaf8c>

Моя проблема в том, что я больше не могу делать:

R=et.Element('DataBase')
R.append(asi)
R.append(psi)
R.append(vysis)

из-за ошибки:

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)

Я полагаю, у меня есть два решения. Во-первых, можно было бы избежать преобразования etree.Element в etree.ElementTree и сохранить его «напрямую», но я не знаю, как это сделать. Вторым решением было бы обратное преобразование etree.ElementTree в тип etree.Element... Должно быть чистое решение для сохранения/загрузки объекта xml?

6
задан Cœur 2 August 2017 в 14:37
поделиться