Python中xml和json格式互转

发布时间:2019-09-18 07:26:08编辑:auto阅读(1555)

    Python中xml和json格式是可以互转的,就像json格式转Python字典对象那样。

    xml格式和json格式互转用到的xmltodict库

    安装xmltodict库

    C:\Users\Administrator>pip3 install xmltodict
    Collecting xmltodict
      Downloading xmltodict-0.11.0-py2.py3-none-any.whl
    Installing collected packages: xmltodict
    Successfully installed xmltodict-0.11.0
    利用pip可以直接安装。

    xml格式转json格式

    import json
    import xmltodict
    #定义xml转json的函数
    def xmltojson(xmlstr):
        #parse是的xml解析器
        xmlparse = xmltodict.parse(xmlstr)
        #json库dumps()是将dict转化成json格式,loads()是将json转化成dict格式。
        #dumps()方法的ident=1,格式化json
        jsonstr = json.dumps(xmlparse,indent=1)
        print(jsonstr)
    if __name__ == "__main__":
        xml ="""          #需要转换json格式的xml
    <student>
        <stid>10213</stid>
        <info>
            <name>name</name>
            <sex>male</sex>
        </info>
        <course>
            <name>math</name>
            <score>90</score>
        </course>
    </student>
        """
        xmltojson(xml)  #调用转换函数

    json格式转xml格式

    import xmltodict
    #json转xml函数
    def jsontoxml(jsonstr):
        #xmltodict库的unparse()json转xml
        xmlstr = xmltodict.unparse(jsonstr)
        print(xmlstr)
    if __name__ == "__main__":
        json = {'student': {'course': {'name': 'math', 'score': '90'},
                            'info': {'sex': 'male', 'name': 'name'}, 'stid': '10213'}}
        jsontoxml(json)
    结果:
    C:\python35\python.exe "D:/自动化测用例/json to xml.py"
    <?xml version="1.0" encoding="utf-8"?>
    <student><course><name>math</name><score>90</score></course><info><name>name</name><sex>male</sex></info><stid>10213</stid></student>

    Process finished with exit code 0


    参考:
    http://www.crifan.com/python_convertion_between_xml_and_json/?utm_source=tuicool&utm_medium=referral

关键字