python中xmltodict使用

xml转换成OrderedDict

代码 :

import xmltodict
from pprint import pprint
 
 
xml = ('''

    
        elements
        more elements
    
    
        element as well
    

''')
pprint(xmltodict.parse(xml))
print(type(xmltodict.parse(xml)))

运行结果:

python中的xmltodict怎么使用

可以看到,代码将xml中所有的标签写到了一个OrderedDict中,并且可以运用字典的操作方法去任意取值

dict转换成xml

代码:

# 代码
dict1 = {'Request': {'Body': {'Name': '孙悟空',
                      'Province': '北京',
                      'SettlementFlag': '0001',
             'Head': {'ID': '00000000',
                      'Code': '9999',
                      'No': '15533'}}}}
 
print(xmltodict.unparse(dict1))

运行结果:

python中的xmltodict怎么使用

xmltodict模块处理xml数据基本用法

xmltodict 是一个用来处理xml数据的很方便的模块。

包含两个常用方法parse和unparse

1. parse

xmltodict.parse()方法可以将xml数据转为python中的dict字典数据:

>>> import xmltodict
>>> xml_str = """
... 
... 
... 
... 1478317060
... 
... 
... 6349323426230210995
... 
... """
>>>
>>> xml_dict = xmltodict.parse(xml_str)
>>> type(xml_dict)
  # 类字典型,可以按照字典方法操作
>>>
>>> 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')]))])
>>>
>>> xml_dict['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')])
>>>
>>> for key, val in xml_dict['xml'].items():
...     print key, "=", val
... 
ToUserName = gh_866835093fea
FromUserName = ogdotwSc_MmEEsJs9-ABZ1QL_4r4
CreateTime = 1478317060
MsgType = text
Content = 你好
MsgId = 6349323426230210995
>>>

2. unparse

xmltodict.unparse()方法可以将字典转换为xml字符串:

xml_dict = {
    "xml": {
        "ToUserName" : "gh_866835093fea",
        "FromUserName" : "ogdotwSc_MmEEsJs9-ABZ1QL_4r4",
        "CreateTime" : "1478317060",
        "MsgType" : "text",
        "Content" : u"你好",
        "MsgId" : "6349323426230210995",
    }
}

>>> xml_str = xmltodict.unparse(xml_dict)
>>> print xml_str

ogdotwSc_MmEEsJs9-ABZ1QL_4r46349323426230210995gh_866835093fea你好text1478317060
>>>
>>> xml_str = xmltodict.unparse(xml_dict, pretty=True) # pretty表示友好输出
>>> print xml_str


    ogdotwSc_MmEEsJs9-ABZ1QL_4r4
    6349323426230210995
    gh_866835093fea
    你好
    text
    1478317060

>>>
本文转载于:https://www.yisu.com/zixun/773535.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。