开发者社区> 问答> 正文

将字典转换为XML

你想使用一个Python字典存储数据,并将它转换成XML格式。

展开
收起
哦哦喔 2020-04-17 13:18:39 718 0
1 条回答
写回答
取消 提交回答
  • 尽管 xml.etree.ElementTree 库通常用来做解析工作,其实它也可以创建XML文档。 例如,考虑如下这个函数:
    
    from xml.etree.ElementTree import Element
    
    def dict_to_xml(tag, d):
    '''
    Turn a simple dict of key/value pairs into XML
    '''
    elem = Element(tag)
    for key, val in d.items():
        child = Element(key)
        child.text = str(val)
        elem.append(child)
    return elem
    下面是一个使用例子:
    
    >>> s = { 'name': 'GOOG', 'shares': 100, 'price':490.1 }
    >>> e = dict_to_xml('stock', s)
    >>> e
    <Element 'stock' at 0x1004b64c8>
    >>>
    转换结果是一个 Element 实例。对于I/O操作,使用 xml.etree.ElementTree 中的 tostring() 函数很容易就能将它转换成一个字节字符串。例如:
    
    >>> from xml.etree.ElementTree import tostring
    >>> tostring(e)
    b'<stock><price>490.1</price><shares>100</shares><name>GOOG</name></stock>'
    >>>
    如果你想给某个元素添加属性值,可以使用 set() 方法:
    
    >>> e.set('_id','1234')
    >>> tostring(e)
    b'<stock _id="1234"><price>490.1</price><shares>100</shares><name>GOOG</name>
    </stock>'
    >>>
    如果你还想保持元素的顺序,可以考虑构造一个 OrderedDict 来代替一个普通的字典。
    
    2020-04-17 13:18:52
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关课程

更多

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载