mdo*_*dob 5 python xml xml-serialization
我希望将 Python 对象转换为 XML 数据。我试过 lxml,但最终不得不编写自定义代码来将我的对象保存为 xml,这并不完美。
我正在寻找更像 pyxser 的东西。不幸的是 pyxser xml 代码看起来与我需要的不同。
例如我有我自己的班级 Person
Class Person:
name = ""
age = 0
ids = []
Run Code Online (Sandbox Code Playgroud)
我想把它转换成 xml 代码,看起来像
<Person>
<name>Mike</name>
<age> 25 </age>
<ids>
<id>1234</id>
<id>333333</id>
<id>999494</id>
</ids>
</Person>
Run Code Online (Sandbox Code Playgroud)
我没有在 lxml.objectify 中找到任何接受对象并返回 xml 代码的方法。
最好是相当主观的,我不确定在不了解您的要求的情况下是否可以说出最好的。然而,Gnosis之前已被推荐用于将 Python 对象序列化为 XML,因此您可能想从它开始。
来自 Gnosis 主页:
Gnosis Utils 包含几个用于 XML 处理的 Python 模块,以及其他常用工具:
- xml.pickle(将对象序列化为 XML 或从 XML 序列化对象)
- API 与标准 pickle 模块兼容)
- xml.objectify(将任意 XML 文档转换为 Python 对象)
- xml.validity(通过 DTD 或 Schema 强制执行 XML 有效性约束)
- xml.indexer(全文索引/搜索)
- 还有很多...
另一个选项是lxml.objectify。