美文网首页Python
Python基础(30) - 字典与XML的相互转换

Python基础(30) - 字典与XML的相互转换

作者: xianling_he | 来源:发表于2020-03-06 22:12 被阅读0次
    • 将字典转换成XML文档
    • 将XML文档转换成字典

    将字典转成XML文档的方法如下:

    下载dicttoxml模块

    • 通过pip3 install dicttoxml


      hexianling.png

    在Pycharm里面安装dicttoxml package

    hexianling.png

    导入dicttoxml模块,并创建一个字典

    import dicttoxml
    import os
    
    from xml.dom.minidom import parseString
    
    d = [20,'names',{'name':'Bill','age':30,'salary':2000},
                    {'name':'Mick','age':40,'salary':3000},
                    {'name':'Jone','age':50,'salary':4000}
    ]
    

    使用dicttoxml.dicttoxml进行转换

    • 第一个参数是目标地址,D
    • 第二个参数是转换后的根节点名称,persons
    • 通过uft-8 格式解码后并打印
    beforexml = dicttoxml.dicttoxml(d,custom_root='persons')
    xml = beforexml.decode('utf-8')
    print(xml)
    
    hexianling.png

    使用parseString分析字符串并制作成XML格式

    dom = parseString(xml)
    prexml = dom.toprettyxml(indent=' ')
    print(prexml)
    
    hexianling.png

    将xml文件内容保存成文档

    • 保存成person.xml
    f = open('C:\\PyTest\\Selenium_OpenSchools\\test_selenium\\03-数据存储\\files\\person.xml','w',encoding='utf-8')
    f.write(prexml)
    f.close()
    
    hexianling.png
    • 打开文件查看内容是否一致


      hexianling.png

    将文档内容转成字典的方法如下:

    安装xmltodict模块

    • 在command 下面输入 pip3 install xmltodict


      hexianling.png
    • 在Pycharm下面安装模块


      hexianling.png

    导入xmltodict模块并读取xml文件

    • 第一个参数是目标文件地址
    • 第二个参数是rt,r表示read,t表示文本txt
    • 第三个参数是转码格式
    import xmltodict
    f = open('C:\\PyTest\\Selenium_OpenSchools\\test_selenium\\03-数据存储\\files\\products.xml','rt',encoding='utf-8')
    xml = f.read()
    

    使用parse进行XML分析

    import xmltodict
    f = open('C:\\PyTest\\Selenium_OpenSchools\\test_selenium\\03-数据存储\\files\\products.xml','rt',encoding='utf-8')
    xml = f.read()
    
    d = xmltodict.parse(xml) # 使用parse 分析XML
    print(type(d))
    
    • 文件类型已经转成字典


      hexianling.png

    使用pprint模块,打印输出控制台

    import pprint
    pp = pprint.PrettyPrinter(indent=4)
    pp.pprint(d)
    
    hexianling.png

    总结

    1.使用第三方模块dicttoxml 用于将字典转成XML

    1. 使用第三方模块xmltodict 用于将XML转成字典
    2. 以上2个模块都需要单独安装使用

    相关文章

      网友评论

        本文标题:Python基础(30) - 字典与XML的相互转换

        本文链接:https://www.haomeiwen.com/subject/zfuorhtx.html