本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《 阿里云开发者社区用户服务协议 》和 《 阿里云开发者社区知识产权保护指引 》。如果您发现本社区中有涉嫌抄袭的内容,填写 侵权投诉表单 进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

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

需要完整源代码加QQ:2835809579

用到的 模块 呢?

import os
from json import loads
from dicttoxml import dicttoxml
from xml.dom.minidom import parseString #用来构建对象数据的模块部分

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

    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文档
        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():拼接待操作对

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

效果如下:

1.png

1.png

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