Python3 XML与字典Dict之间的相互转化

一、XML -> Dict

1. XML2Dict包

安装:pip install xml2dict

模块解析:通过分析其代码包,可以看到,其在setup.py中设置了encoder和decoder两个模块,安装完成后这两个模块会出现在你的site-packages下。因此,使用时需调用这两个模块,而不是import xml2dict或import XML2Dict,这是无法使用的。模块中,encoder对应XML2Dict,decoder对应Dict2XML。

代码示例:

from encoder import XML2Dict
x = XML2Dict()
xml_str = ""   #xml的字符串,不是文件路径
d =x.parse(xml_str)
print(d)

二、Dict -> XML

1. dict2xml包

安装:pip install dict2xml

模块解析:

代码示例:

import dict2xml
from xml.dom.minidom import parseString

def dict_to_xml(dict_in, xml_out):
    xml_str = dict2xml.dict2xml(dict_in)
    xml_raw = '<?xml version="1.0" encoding="utf-8"?>\n' + '<xml>\n' + xml_str + '\n</xml>'
    dom = parseString(xml.replace('\n', ''))    #xml_raw中有\n换行,但不美观
    pretty = dom.toprettyxml(indent="    ", newl="\n", encoding="utf-8")   #bytes
    with open(xml_out, 'w') as f:
        f.write(pretty.decode("utf-8"))

a = {'aaa':'xxx', 'bbb': 'xxx', 'ccc':['cc1', 'cc2', 'cc3'], 'ddd': {'ddd1':'xxx', 'ddd2': 'xxxxx'}}

dict_to_xml(a, 'res.xml')

2. XML2Dict包

分析:见(一、1)

from decoder import Dict2XML
x = Dict2XML()
d = {}    #字典
t = x.parse(d)
print(t)

 

 

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值