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