1.下面的Python代码将任意XML格式文件转化为JSON格式(字典)。除Python自带的模块外,不需要依赖其他任何第三方库。

2.XML文件的读取使用Python自带的XML模块。

3.关键代码如下:

import xml.etree.ElementTree as ET
import json

def xml2json(node):
    if not isinstance(node, ET.Element):
        raise Exception("node format error.")

    if len(node) == 0:
        return node.tag, node.text

    data = {}
    temp = None
    for child in node:
        key, val = xml2json(child)
        if key in data:
            if type(data[key]) == list:
                data[key].append(val)
            else:
                temp = data[key]
                data[key] = [temp, val]
        else:
            data[key] = val

    return node.tag, data

4.测试代码如下:

def main():
    path = "./xx.xml"
    tree = ET.parse(path)
    node = tree.getroot()
    tag, data = xml2json(node)

    f = open("./xx.json", "w", encoding="utf-8")
    f.write(json.dumps(data, ensure_ascii=False, indent=4))
    f.close()

  

转发自:https://www.cnblogs.com/ben-/p/16968316.html

 

posted on 2023-05-04 15:07  彼得潘jd  阅读(434)  评论(0编辑  收藏  举报