Python將xml格式轉換為json格式

llnnmc發表於2019-03-22

在Python程式設計中,經常遇到xml格式的檔案或字串。由於json格式的方便性,常常希望將xml格式轉換為json格式來處理,這可以透過模組xmltodict來實現。

xmltodict模組透過pip來下載和安裝:

C:\>pip3 install xmltodict

Collecting xmltodict

Downloading

Installing collected packages: xmltodict

Successfully installed xmltodict-0.12.0

匯入該模組後,在程式碼中使用xmltodict.parse(xml_str)進行處理,這將把xml格式字串轉換為字典格式的資料,再配合json模組的dumps()函式,將字典轉換為json格式的字串。

import xmltodict
import json
 
# xml to json
def xmlToJson(xml_str):
    try:
        json_dict = xmltodict.parse(xml_str, encoding = 'utf-8')
        json_str = json.dumps(json_dict, indent = 2)
        return json_str
    except:
        pass
 
# json to xml
def jsonToXml(json_str):
    try:
        json_dict = json.loads(json_str)
        xml_str = xmltodict.unparse(json_dict, encoding = 'utf-8')
    except:
        xml_str = xmltodict.umparse({'request':json_dict}, encoding = 'utf-8')
    finally:
        return xml_str
 
# load xml file
def load_json(xml_path):
    # 獲取xml檔案
    xml_file = open(xml_path, 'r')
    xml_str = xml_file.read()
    # 將讀取的xml字串轉換為字典
    json_dict = xmltodict.parse(xml_str)
    # 將字典轉換為json格式的字串
    json_str = json.dumps(json_dict, indent = 2)
    return json_str


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28974745/viewspace-2639062/,如需轉載,請註明出處,否則將追究法律責任。

相關文章