xml to dict

1
xmltodict.parse()
1
2
3
4
5
6
7
8
9
<!--设字符串xml_str-->
<xml>
<ToUserName><![CDATA[gh_866835093fea]]></ToUserName>
<FromUserName><![CDATA[ogdotwSc_MmEEsJs9-ABZ1QL_4r4]]></FromUserName>
<CreateTime>1478317060</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[你好]]></Content>
<MsgId>6349323426230210995</MsgId>
</xml>
e.g.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import xmltodict

# xml_dict为dict类型
xml_dict = xmltodict.parse(xml_str)
# xml_dict的值为:
>>> OrderedDict([(u'xml',
>>> OrderedDict([
>>> (u'ToUserName', u'gh_866835093fea'),
>>> (u'FromUserName',u'ogdotwSc_MmEEsJs9-ABZ1QL_4r4'),
>>> (u'CreateTime', u'1478317060'),
>>> (u'MsgType', u'text'),
>>> (u'Content', u'\u4f60\u597d'),
>>> (u'MsgId', u'6349323426230210995')
>>> ])
>>> )])

dict to xml

1
xmltodict.unparse()
e.g.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
xml_dict = {
"xml": {
"ToUserName" : "gh_866835093fea",
"FromUserName" : "ogdotwSc_MmEEsJs9-ABZ1QL_4r4",
"CreateTime" : "1478317060",
"MsgType" : "text",
"Content" : u"你好",
"MsgId" : "6349323426230210995",
}
}
#xml_str为字符串类型
xml_str = xmltodict.unparse(xml_dict)
# xml_str的值为
>>> '<?xml version="1.0" encoding="utf-8"?><xml><FromUserName>ogdotwSc_MmEEsJs9-ABZ1QL_4r4</FromUserName><MsgId>6349323426230210995</MsgId><ToUserName>gh866835093fea</ToUserName><Content>你好</Content><MsgType>text</MsgType><CreateTime>1478317060</CreateTime></xml>'
# pretty参数可格式化xml
xml_str = xmltodict.unparse(xml_dict, pretty=True)
1
2
3
4
5
6
7
8
9
10
<!--格式化的xml_str的值为-->
<?xml version="1.0" encoding="utf-8"?>
<xml>
<FromUserName>ogdotwSc_MmEEsJs9-ABZ1QL_4r4</FromUserName>
<MsgId>6349323426230210995</MsgId>
<ToUserName>gh_866835093fea</ToUserName>
<Content>你好</Content>
<MsgType>text</MsgType>
<CreateTime>1478317060</CreateTime>
</xml>