川川遇到大难题了,有人问我怎么把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():拼接待操作对
其实我都注释的差不多了,应该是大家能看懂的。
效果如下:
希望对你们有所启发,有问题可以留言或者私我吧,晚安,打工人!