【问题标题】:Python object serialization to XML & deserialization from XMLPython 对象序列化到 XML 和从 XML 反序列化
【发布时间】:2013-09-24 21:50:47
【问题描述】:

如何将类的实例序列化为 XML 文件并反序列化?


例如。

我有“猫”课:

class Cat:
    __name=''
    __age=0
    __tail_length=0
    __weight=0

    def __init__(self, name, age, tail_length, weight):
        self.__name=name
        self.__age=age
        self.__tail_length=tail_length
        self.__weight=weight

有可能吗?

timon=Cat(name='Timon', age=3, tail_length=20, weight=18)
magic_xml_serializer.serialize(destfile='cat-timon.xml', obj=timon)
del(timon)
timon=magic_xml_serializer.deserialize(sourcefile='cat-timon.xml')
print ('yes','no')[type(timon)=='Cat'] #yes

如果可以的话,请写信告诉我怎么做。或者只是给我链接代码示例。谢谢!

附注Python 2.7 版

【问题讨论】:

  • 您尝试过什么来解决自己的问题?还有所有__vars 怎么了?
  • 我是 Python 新手,我想问一下这个问题的好解决方案。我曾尝试使用 xml.pickle。
  • 对不起,不管你是不是新手,你需要证明你自己的努力。
  • 问题是你无缘无故地让你的代码难以阅读。另外,您将所有内容初始化两次。我敢打赌你是一个java程序员。
  • 您在创建类和创建每个对象时进行初始化。这是不必要的,而且是重复的。此外,没有理由使用私有属性。事实上,他们更有可能制造问题。

标签: python xml serialization


【解决方案1】:

您可以使用spyne 通过服务器 (RPC) 获取 xml 输出。 spyne 非常适合肥皂,如果这是你想要的(看看你的 C# .NET 背景)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-31
    • 1970-01-01
    • 2010-11-11
    • 2012-02-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多