开发者社区> 问答> 正文

通过装饰器进行对象XML映射的Python框架?

在对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支持它,我也会研究它。

展开
收起
祖安文状元 2020-02-21 15:56:27 562 0
1 条回答
写回答
取消 提交回答
  • 实际上,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)
    
    2020-02-21 15:56:36
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载