Превратить элемент lxml.objectify обратно в XML - PullRequest
6 голосов
/ 10 февраля 2012

Я использую lxml.objectify, чтобы легко анализировать и работать с файлом XML. По причинам аудита я должен сохранить производный объект вместе с исходным XML-кодом элемента.

root = lxml.objectify.fromstring(self.get_xml_data())

for i, elem in enumerate(root.elements):
    # create new database entry based on elem
    elem_obj.source_code = turn_elem_into_xml(elem)

Как я могу реализовать turn_elem_into_xml?

Ответы [ 2 ]

7 голосов
/ 10 февраля 2012

lxml.etree.tostring

In [21]: r = lxml.objectify.fromstring('<root><item>1</item><item>2</item></root>')

In [22]: lxml.etree.tostring(r.item)
Out[22]: '<item>1</item>'
1 голос
/ 10 февраля 2012

lxml.objectify элементы все еще нормальные элементы.Вы можете распечатать их как любые другие, или превратить их в строки, используя lxml.etree.tostring.

...