欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python中關(guān)于xmltodict的使用

 更新時(shí)間:2023年03月14日 09:35:34   作者:yasooooo  
這篇文章主要介紹了python中關(guān)于xmltodict的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

python中xmltodict使用

xml轉(zhuǎn)換成OrderedDict

代碼 :

import xmltodict
from pprint import pprint
 
 
xml = ('''
<mydocument has="an attribute">
    <and>
        <many>elements</many>
        <many>more elements</many>
    </and>
    <plus a="complex" b="hello">
        element as well
    </plus>
</mydocument>
''')
pprint(xmltodict.parse(xml))
print(type(xmltodict.parse(xml)))

運(yùn)行結(jié)果:

可以看到,代碼將xml中所有的標(biāo)簽寫到了一個(gè)OrderedDict中,并且可以運(yùn)用字典的操作方法去任意取值

dict轉(zhuǎn)換成xml

代碼:

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

運(yùn)行結(jié)果:

xmltodict模塊處理xml數(shù)據(jù)基本用法

xmltodict 是一個(gè)用來(lái)處理xml數(shù)據(jù)的很方便的模塊。

包含兩個(gè)常用方法parse和unparse

1. parse

xmltodict.parse()方法可以將xml數(shù)據(jù)轉(zhuǎn)為python中的dict字典數(shù)據(jù):

>>> import xmltodict
>>> 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>
... """
>>>
>>> xml_dict = xmltodict.parse(xml_str)
>>> type(xml_dict)
<class 'collections.OrderedDict'> ?# 類字典型,可以按照字典方法操作
>>>
>>> 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()方法可以將字典轉(zhuǎn)換為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
<?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>
>>>
>>> xml_str = xmltodict.unparse(xml_dict, pretty=True) # pretty表示友好輸出
>>> print 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>
>>>

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python unittest模塊用法實(shí)例分析

    Python unittest模塊用法實(shí)例分析

    這篇文章主要介紹了Python unittest模塊用法,結(jié)合實(shí)例形式分析了unittest模塊功能及相關(guān)函數(shù)使用技巧,需要的朋友可以參考下
    2018-05-05
  • Python簡(jiǎn)明講解filter函數(shù)的用法

    Python簡(jiǎn)明講解filter函數(shù)的用法

    本文和你一起來(lái)探索Python中的filter函數(shù),讓你以最短的時(shí)間明白這個(gè)函數(shù)的原理。也可以利用碎片化的時(shí)間鞏固這個(gè)函數(shù),讓你在處理工作過(guò)程中更高效
    2022-06-06
  • python3發(fā)送request請(qǐng)求及查看返回結(jié)果實(shí)例

    python3發(fā)送request請(qǐng)求及查看返回結(jié)果實(shí)例

    這篇文章主要介紹了python3發(fā)送request請(qǐng)求及查看返回結(jié)果實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • Python辦公自動(dòng)化之發(fā)送電子郵件和Outlook集成

    Python辦公自動(dòng)化之發(fā)送電子郵件和Outlook集成

    Python辦公?動(dòng)化是利?Python編程語(yǔ)?來(lái)創(chuàng)建腳本和程序,以簡(jiǎn)化、加速和?動(dòng)化?常辦公任務(wù)和?作流程的過(guò)程,本文主要介紹一下如何利用Python實(shí)現(xiàn)發(fā)送電子郵件和Outlook集成,需要的可以參考下
    2023-12-12
  • Python格式化輸出詳情

    Python格式化輸出詳情

    這篇文章介紹了Python格式化輸出,主要講解Python格式化輸出的三種方式:%格式化、format格式化、f-String格式化,需要的朋友可以參考下面文章的具體內(nèi)容
    2021-09-09
  • Python?裝飾器常用的創(chuàng)建方式及源碼示例解析

    Python?裝飾器常用的創(chuàng)建方式及源碼示例解析

    裝飾器(decorator)是一種高級(jí)Python語(yǔ)法,可以對(duì)一個(gè)函數(shù)、方法或者類進(jìn)行加工,這篇文章主要介紹了Python?裝飾器常用的創(chuàng)建方式及解析,需要的朋友可以參考下
    2022-04-04
  • Python運(yùn)用于數(shù)據(jù)分析的簡(jiǎn)單教程

    Python運(yùn)用于數(shù)據(jù)分析的簡(jiǎn)單教程

    這篇文章主要介紹了Python運(yùn)用于數(shù)據(jù)分析的簡(jiǎn)單教程,主要介紹了如何運(yùn)用Python來(lái)進(jìn)行數(shù)據(jù)導(dǎo)入、變化、統(tǒng)計(jì)和假設(shè)檢驗(yàn)等基本的數(shù)據(jù)分析,需要的朋友可以參考下
    2015-03-03
  • Python中TypeError: unhashable type: ‘list‘錯(cuò)誤的解決方法

    Python中TypeError: unhashable type: ‘list‘錯(cuò)誤的解

    在Python編程的領(lǐng)域中,數(shù)據(jù)類型的正確使用是確保程序正常運(yùn)行的關(guān)鍵要素之一,然而,開發(fā)者們常常會(huì)遇到一些由于數(shù)據(jù)類型使用不當(dāng)而引發(fā)的報(bào)錯(cuò),其中TypeError: unhashable type: 'list’就是一個(gè)比較典型的錯(cuò)誤,那么,讓我們深入探究這個(gè)報(bào)錯(cuò)問(wèn)題,為大家提供全面的解決方案
    2024-10-10
  • python 如何設(shè)置守護(hù)進(jìn)程

    python 如何設(shè)置守護(hù)進(jìn)程

    這篇文章主要介紹了python 如何設(shè)置守護(hù)進(jìn)程,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-10-10
  • python 實(shí)現(xiàn)端口掃描工具

    python 實(shí)現(xiàn)端口掃描工具

    這篇文章主要介紹了python 實(shí)現(xiàn)端口掃描工具的示例代碼,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12

最新評(píng)論