将lxml.objectify元素转换回XML
我使用 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 个回答
1
lxml.objectify
的元素其实还是普通的元素。你可以像打印其他元素一样打印它们,或者使用 lxml.etree.tostring
把它们转换成字符串。
9
lxml.etree.tostring
是一个函数,用于将一个 XML 或 HTML 元素转换成字符串。简单来说,就是把你在代码中创建的 XML 或 HTML 内容变成可以直接显示的文本。
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>'