代码之家  ›  专栏  ›  技术社区  ›  anijhaw

将消息格式序列化为XML

  •  0
  • anijhaw  · 技术社区  · 15 年前

    我有一个python列表

     [
         (A,{'a':1,'b':2,'c':3,'d':4}),
         B,{'a':1,'b':2,'c':3,'d':4}),
         ...
         ]
    

    我想知道是否有一个将这种列表序列化为XML的标准库,或者我应该将其手工编码到一个文件中。

    编辑:添加的细节

    假设这是用来构造消息的

    消息=a(feild属性{'a':1,'b':2,'c':3,'d':4})b字段属性{'a':1,'b':2,'c':3,'d':4})c字段属性{'a':1,'b':2,'c':3,'d':4})

    3 回复  |  直到 15 年前
        1
  •  2
  •   makapuf    15 年前

    “使用json/yaml/whitespace”注释(我想您有理由这么做,而应该使用pickle/json)。

    您可以尝试使用pythonic elementtree库(在standardlib中),甚至可以使用google的一些建议:搜索“将python字典转换为xml”

    (不要听起来太粗鲁。眨眨眼)

    看看你的例子,A和B是什么?整数?串?分类方法?

        2
  •  4
  •   Mike DeSimone    15 年前

    它需要XML吗?这是 pickle 模块。

    但是,不,没有标准的序列化python对象到xml库。(我前阵子写过一本,还没出版,更不用说“标准版”。)有些图书馆 lxml 用于将xml转换为python对象并返回,以及 sax , dom expat 用于读取XML的库。

        3
  •  1
  •   Mike Graham    15 年前
    • 为什么要使用XML?通常有更好的解决方案,比如json,它是大量的可移植和标准的。
    • 最简单的方法可能是使用yaml。yaml的主要表示形式不是xml,但是有一种规范的方式(yaxml)将yaml序列化数据表示为xml。