解析如何读取json文件数据并转换为xml并保存起来

2021-10-18 11:22:58 浏览数 (1)

川川遇到大难题了,有人问我怎么把json转换为xml文档保存起来,查了半天的资料确实没有可以白嫖的,最终我还是找到了官方文档,于是我就模仿官方文档做了一份出来,真是一个艰辛的过程,害!不过总算是解决了!

代码语言:javascript复制
需要完整源代码加QQ:2835809579

用到的模块呢?

代码语言:javascript复制
import os
from json import loads
from dicttoxml import dicttoxml
from xml.dom.minidom import parseString #用来构建对象数据的模块部分

好了,讲解一下核心部分:

代码语言:javascript复制
    with open(json_path, 'r', encoding='gbk')as json_file:  #打开文件,用gbk方式编译
        load_dict = loads(json_file.read()) # load将字符串转换为字典
    print(load_dict)    #打印读取的字典
    my_item_func = lambda x: 'Annotation'
    xml = dicttoxml(load_dict, custom_root='Annotations', item_func=my_item_func, attr_type=False)
    dom = parseString(xml)  #借助parse string而调整数据结构
    with open(xml_path, 'w', encoding='UTF-8')as xml_file:  #xml_file是文件路径
        xml_file.write(dom.toprettyxml())   #doc.toprettyxml(indent, newl, encoding)方法可以优雅显示xml文档
代码语言:javascript复制
        if (file_list[-1] == 'json'):       #对于json文件
            jsonToXml(os.path.join(json_dir, file), os.path.join(xml_dir, file_list[0]   '.xml')) #调用函数,转为xml文档格式,os.path.join():拼接待操作对

其实我都注释的差不多了,应该是大家能看懂的。

效果如下:

希望对你们有所启发,有问题可以留言或者私我吧,晚安,打工人!

0 人点赞