国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python xmltodict模塊安裝及代碼實(shí)例

瀏覽:5日期:2022-07-09 10:05:45

最近在對(duì)接微信公眾號(hào)、微信支付等功能,發(fā)現(xiàn)很多都是用xml格式的。在使用django日常處理的時(shí)候,都是手動(dòng)拼接的,真的是很惡心。今天仔細(xì)的看了一下python的xmltodict模塊,發(fā)現(xiàn)其實(shí)完全可以不用手動(dòng)拼接,輪子本身都有了。只要那來用就好了。之前自己的方式反而有點(diǎn)傻逼了。

首先使用和安裝都很簡(jiǎn)單

安裝

pip install xmltodict #如果安裝失敗,直接去github上下載手動(dòng)裝吧,https://github.com/martinblech/xmltodict

從名字就知道了 他是一個(gè)支持從xml轉(zhuǎn)換到python的dict互相轉(zhuǎn)換的模塊。(真的很方便)

dict轉(zhuǎn)換xml(用的比較多)

這個(gè)的使用場(chǎng)景是真的多,比如微信支付各種信息獲取都需要用到。

xmltodict.unparse()方法可以方便的將字典轉(zhuǎn)換為xml字符串。

import xmltodictd = {’xml’:{’a’: ’123’,’b’: ’234’}}xml_tmp = xmltodict.unparse(d)print(xml_tmp)--><?xml version='1.0' encoding='utf-8'?><xml><a>123</a><b>234</b></xml>

看著上面的字典格式也有點(diǎn)奇怪,這里要說明一下,生成xml只能只有一個(gè)根,否則會(huì)報(bào)錯(cuò)ValueError: Document must have exactly one root.

解決方式也比較簡(jiǎn)單,只要將你需要的字典內(nèi)容在嵌套到一個(gè)xml的鍵里面,保證字典的第一層只有xml這個(gè)鍵即可。

xml轉(zhuǎn)換dict

這個(gè)方法用的不多,我目前主要是用在處理回調(diào)解析微信傳給我們的xml數(shù)據(jù)。

xmltodict.parse()將xml轉(zhuǎn)換為字典。

接著上面的例子,繼續(xù)往下吧。

import xmltodictd = {’xml’:{’a’: ’123’,’b’: ’234’}}xml_tmp = xmltodict.unparse(d)print(xml_tmp)#將轉(zhuǎn)換的xml在轉(zhuǎn)換回字典dt = xmltodict.parse(xml_tmp)print(dt,type(dt))--> OrderedDict([(’xml’, OrderedDict([(’a’, ’123’), (’b’, ’234’)]))]) <class ’collections.OrderedDict’>

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 龙岩市| 青岛市| 丹凤县| 隆昌县| 新化县| 瑞丽市| 宣恩县| 中西区| 武川县| 丰县| 阳城县| 陵水| 咸宁市| 额济纳旗| 旺苍县| 西青区| 泗水县| 紫阳县| 凤城市| 滕州市| 德化县| 买车| 宁蒗| 偏关县| 苗栗县| 承德市| 吉木萨尔县| 嵊州市| 瓦房店市| 平乡县| 若尔盖县| 南充市| 阳高县| 鄱阳县| 西贡区| 伊通| 奉化市| 石狮市| 龙南县| 阳东县| 忻城县|