最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中的xml與dict的轉(zhuǎn)換方法詳解

 更新時間:2023年07月26日 10:15:25   作者:go_flush  
這篇文章主要介紹了Python中的xml與dict的轉(zhuǎn)換方法詳解,xml 是指可擴展標記語言,一種標記語言類似html,作用是傳輸數(shù)據(jù),而且不是顯示數(shù)據(jù)??梢宰远x標簽,需要的朋友可以參考下

接口文檔拿到的是XML,在線轉(zhuǎn)化為json格式(目的是拿到xml數(shù)據(jù)的模板),存放到j(luò)son文件中,根據(jù)接口名去提取。

  • xml 是指可擴展標記語言,一種標記語言類似html,作用是傳輸數(shù)據(jù),而且不是顯示數(shù)據(jù)??梢宰远x標簽。
  • Python 中的xml和dict 互相轉(zhuǎn)化。使用的模塊是xmltodict。
import re
import xmltodict
xml="""<notes>
<to>demo</to>
<from>哈哈</from>
<header>呵呵</header>
<body>"尼古拉斯趙四"</body>
</notes>"""
dict = {"goods":{"fruits":{"name":"melon","coloer":"red","nut":"walnut"}}}
class XmlToDict(object):
    def get_dict(self,xml):
        """xml to dict"""
        return xmltodict.parse(xml_input=xml,encoding="utf-8")
    def get_xml_content(self,orderdict):
        for i in orderdict:
            print(orderdict[str(i)])
    def get_content(self,xml):
        first_title = re.match(r"<.*>", xml).group()[1:-1]
        orderdict = self.get_dict(xml)
        orderdict=orderdict[first_title]
        self.get_xml_content(orderdict)
    def dicttoxml(self,dict):
        """dict to xml"""
        return xmltodict.unparse(dict,encoding="utf-8")
if __name__ == '__main__':
    XmlToDict().get_content(xml)
    ret=XmlToDict().dicttoxml(dict)
    print(ret)
  • python 中還有一個模塊dicttoxml ,將字典轉(zhuǎn)成xml
mport dicttoxml
dict= {"goods":{"fruits":{"name":"melon","coloer":"red","nut":"walnut"}}}
ret_xml = dicttoxml.dicttoxml(dict,custom_root="Request",root=True).decode("utf-8") # 默認是byte 類型,轉(zhuǎn)成str。
print(type(ret_xml)) 

利用循環(huán)字典轉(zhuǎn)成xml

dict = {
    "fruit": "apple",
    "goods": "hamburger"
}
def dicttoxml(iKwargs):
    xml = []
    for k in sorted(iKwargs.keys()):
        v =iKwargs.get(k)
        xml.append("<{key}>{value}</{key}>".format(key=k,value=v))
    return "<xml>{}</xml>".format("".join(xml))
ret=dicttoxml(dict)
print(ret)

上面就是xml和dict轉(zhuǎn)化,如果需要轉(zhuǎn)化json,內(nèi)置的json模塊就可以完成,但是在自動化測試框架中這樣使用比較麻煩,而且復用性不好,封裝好如下

import xmltodict
"""
xml和dict轉(zhuǎn)換
"""
def dict_xml(dictdata):
    """
    dict轉(zhuǎn)xml
    dictstr: dict字符串
    return: xml字符串
    """
    xmlstr=xmltodict.unparse(dictdata, pretty=True)
    return xmlstr
def xml_dict(xmldata,moudle):
    """
    xml轉(zhuǎn)dict
    xmlstr: xml字符串
    moudle:根節(jié)點
    return: dict字符串
    """
    data=xmltodict.parse(xmldata,process_namespaces = True)
    dictdata=dict(data)
    _dictdata=dict(dictdata[moudle])
    dictdata[moudle]=_dictdata
    return dictdata

到此這篇關(guān)于Python中的xml與dict的轉(zhuǎn)換方法詳解的文章就介紹到這了,更多相關(guān)Python中的xml與dict轉(zhuǎn)換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Django 限制訪問頻率的思路詳解

    Django 限制訪問頻率的思路詳解

    這篇文章主要介紹了Django 限制訪問頻率的思路詳解,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-12-12
  • PyTorch 如何檢查模型梯度是否可導

    PyTorch 如何檢查模型梯度是否可導

    這篇文章主要介紹了PyTorch 檢查模型梯度是否可導的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • 基于Python實現(xiàn)計算納什均衡的示例詳解

    基于Python實現(xiàn)計算納什均衡的示例詳解

    納什均衡是一種博弈論中的概念,它描述了一種平衡狀態(tài),其中每個參與者都不能通過獨立改變其決策來提高自己的利益。本文就來用Python中的Nashpy和PuLP實現(xiàn)計算納什均衡,感興趣的可以了解一下
    2023-02-02
  • python通過re正則表達式切割中英文的操作

    python通過re正則表達式切割中英文的操作

    這篇文章主要介紹了python通過re正則表達式切割中英文的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • python中reload(module)的用法示例詳解

    python中reload(module)的用法示例詳解

    與from和import相比,reload是內(nèi)置函數(shù),而不是語句,下面這篇文章主要給大家介紹了關(guān)于python中reload(module)用法的相關(guān)資料,文中給出了詳細的示例代碼供大家參考學習,需要的朋友們下面來一起看看吧。
    2017-09-09
  • 深入淺出Python中三個圖像增強庫的使用

    深入淺出Python中三個圖像增強庫的使用

    這篇文章主要帶大家了解一下Python中三個圖像增強庫的使用:Imgaug、Albumentations和SOLT,文中通過示例進行了詳細介紹,需要的可以參考一下
    2022-05-05
  • python實現(xiàn)尼姆游戲

    python實現(xiàn)尼姆游戲

    這篇文章通過詳細的python代碼實現(xiàn)尼姆游戲,小編覺得挺不錯的?,F(xiàn)在分享給大家,也給大家做個參考,需要的朋友可以收藏下。一起跟隨小編過來看看吧
    2021-12-12
  • Python基于Tkinter的HelloWorld入門實例

    Python基于Tkinter的HelloWorld入門實例

    這篇文章主要介紹了Python基于Tkinter的HelloWorld入門實例,以一個簡單實例分析了Python中Tkinter模塊的使用技巧,需要的朋友可以參考下
    2015-06-06
  • Python中的數(shù)據(jù)分析詳解

    Python中的數(shù)據(jù)分析詳解

    這篇文章主要介紹了Python中的數(shù)據(jù)分析詳解,對數(shù)據(jù)進行分析,數(shù)據(jù)分析是指根據(jù)分析目的,用適當?shù)慕y(tǒng)計分析方法及工具,對收集來的數(shù)據(jù)進行處理與分析,提取有價值的信息,發(fā)揮數(shù)據(jù)的作用,需要的朋友可以參考下
    2023-07-07
  • Python使用ConfigParser解析INI配置文件的完全指南

    Python使用ConfigParser解析INI配置文件的完全指南

    配置文件提供了一種結(jié)構(gòu)化的方式來管理應用程序設(shè)置,比單獨使用環(huán)境變量更有組織性,INI文件采用簡單的基于部分的格式,既易于閱讀又易于解析,Python內(nèi)置的configparser模塊使處理這些文件變得簡單而強大,需要的朋友可以參考下
    2025-10-10

最新評論

友谊县| 德钦县| 大冶市| 若羌县| 崇礼县| 若尔盖县| 米易县| 绥中县| 丹寨县| 南汇区| 临夏市| 南丰县| 沿河| 渝北区| 锡林浩特市| 岳阳市| 文安县| 高青县| 靖西县| 乌苏市| 含山县| 崇州市| 丁青县| 河北区| 朝阳县| 奉化市| 汝州市| 吴忠市| 辛集市| 怀宁县| 依兰县| 绥化市| 阿鲁科尔沁旗| 丰宁| 广灵县| 高平市| 阿鲁科尔沁旗| 尉犁县| 白银市| 宝鸡市| 仁怀市|