我沒那麼熟悉objectify
,但我不認爲這是它打算使用的方式。它表示對象的方式是任何給定級別的節點都是類名稱,子節點是字段名稱(帶有類型)和值。和正常的方式來使用它會更多的東西是這樣的:
xml_obj = lxml.objectify.Element('xml_obj')
xml_obj.root_path = 'text'
etree.dump(xml_obj)
<root_name xmlns:py="http://codespeak.net/lxml/objectify/pytype" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" py:pytype="TREE">
<root_name py:pytype="str">text</root_name>
</root_name>
你想會是比較容易的方式與etree
做什麼:
xml_obj = lxml.etree.Element('root_path')
xml_obj.text = 'text'
etree.dump(xml_obj)
<root_path>text</root_path>
如果你真的需要它是在objectify
,它看起來像你不應該直接混合,你可以使用tostring
生成XML,然後objectify.fromstring
把它帶回來。但可能的話,如果這是你想要的,你應該使用etree
來生成它。
謝謝!我一直在使用Objectify,因爲我對它很熟悉,但你對etree完全正確。 –