python:如何定义转换为xml的类型

时间:2015-12-17 17:32:51

标签: python xml django orm sqlalchemy

在python 2.7中为基于xml的文件格式实现解析器。该格式定义具有特定类型字段的类。

我想做的事情是定义这样的对象:

class DataType1(SomeCoolParent):
    a = Integer()
    b = Float()
    c = String()
    #and so on...
  • 生成的类需要能够从XML文档构造,并渲染回XML(以便我可以保存和加载文件)。

  • 这看起来很像SQLAlchemy或Django中的ORM库...除了没有数据库,只有XML。我不清楚如何实现我对这些库的追求。我基本上想要删除他们的后端数据库的东西,并自己转换为XML,然后再返回。

  • 我当前的计划:设置元类和父类(SomeCoolParent),定义所有类型(IntegerFloatString),并且通常构建一个习惯几乎是自己的ORM。我知道如何做到这一点,但似乎其他人必须在此之前完成/想到这一点,并且可能想出一个通用的解决方案......
  • 是否有一种“更好”的方法来实现具有python对象的固定类型结构的层次结构,这允许或至少有助于转换为XML?

注意事项/备注

  • 如上所述,我知道SQLAlchemy和Django,但我不清楚我是如何/是否可以用他们的ORM库做我想做的事情。显示如何使用它们中的任何一个的答案肯定会计数。
  • 我肯定对其他方法持开放态度,这两个方法只是我所知道的ORM库。

1 个答案:

答案 0 :(得分:1)

那里有几个XML Schema规格。我的知识有些过时,但XML Schema (W3C) - a.k.a. XSDrelax ng是最受欢迎的,因为学习曲线较低。考虑到这一点,使用这些数据描述格式的良好ORM(或者是OXM' Object-XML Mapper)应该在那里。有些候选人

更强的google foo可能会产生更多选择。