在对Java 中的XML序列化框架Simple XML 的易用性印象深刻之后,我尝试寻找一种Python副本,该副本将有助于以类似的方式实现类及其XML序列化。到目前为止,尽管有很多有趣的候选人,但我还是空手而归(据我所知,没有人方便地使用装饰器)。例如,我开始看dexml,但是我为一个简单的例子而烦恼,就像实现允许反序列化的类一样简单。
<Error Code="0">OK</Error>
使用Java中的Simple,我可以编写诸如以下的类
@Root(name="Error")
public class Error {
@Attribute(name = "Code")
private int code; // public getter and setter
@Text(required = false)
private String description; // public getter and setter
}
Python中是否已经有一个类似Java的简单调味框架?尽管不是强制性的,但我还是优先选择Python 2.6。如果仅Python 3支持它,我也会研究它。
实际上,dexml支持此语法。我花了一段时间才弄清楚(阅读源代码有帮助)。
class Error(dexml.Model):
code = dexml.fields.String()
value = dexml.fields.String(tagname=".")
并且以下内容将返回欲望的xml呈现:
e = Error(code="0",value="OK")
print e.render(fragment=True)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。