Python数据存储之XML文档和字典的互转
更新时间:2022年06月13日 10:09:31 作者: 孤寒者
这篇文章主要介绍了Python数据存储之XML文档和字典的互转,通过如何将一个字典转换为XML文档,并将该XML文档保存为文本文件的提问展开主题相关介绍,需要的朋友可以参考一下下面文章内容
考点:
- 将字典转换为XML文档;
- 将XML文档转换为字典。
面试题
- 1.面试题一:如何将一个字典转换为XML文档,并将该XML文档保存为文本文件。
- 2.面试题二:如何读取XML文件的内容,并将其转换为字典。
解析
如何将一个字典转换为XML文档,并将该XML文档保存为文本文件:
这里需要用到第三方库:dicttoxml。需要安装一下
# coding=utf-8 import dicttoxml from xml.dom.minidom import parseString d = [20, 'name', {'name':'xiaohong', 'age':30, 'salary':500}, {'name':'honghong', 'age':34, 'salary':2050}, {'name':'lihua', 'age':10, 'salary':1200}, ] bxml = dicttoxml.dicttoxml(d, custom_root='persons') # 注意:此时返回值是二进制类型,所以需要解码哦~ xml = bxml.decode('utf-8') print(xml) print("---"*25) # 美观格式 dom = parseString(xml) prettyxml = dom.toprettyxml(indent=' ') print(prettyxml) # 保存 with open('persons1.xml', 'w', encoding='utf-8') as f: f.write(prettyxml)
面试题二 之 如何读取XML文件的内容,并将其转换为字典:
- 这里需要用到第三方库:xmltodict。需要安装一下哦~
- 供我们读取的XML文件是products.xml,文件内容如下:
<!-- products.xml --> <root> <products> <product uuid='1234'> <id>10000</id> <name>苹果</name> <price>99999</price> </product> <product uuid='1235'> <id>10001</id> <name>小米</name> <price>999</price> </product> <product uuid='1236'> <id>10002</id> <name>华为</name> <price>9999</price> </product> </products> </root>
# coding=utf-8 import xmltodict with open('products.xml', 'rt', encoding='utf-8') as f: xml = f.read() d = xmltodict.parse(xml) print(d) print("---" * 25) print(type(d)) # 输出为:<class 'collections.OrderedDict'> # 说明此时已经转为字典(排序字典)~ print("---"*25) # 美观格式 import pprint dd = pprint.PrettyPrinter(indent=4) dd.pprint(d)
总结
需要两个第三方模块(需安装):
- dicttoxml用于将字典转换为XML文档;
- xmltodict用于将XML文档转换为字典。
到此这篇关于Python数据存储之XML文档和字典的互转的文章就介绍到这了,更多相关Python XML文档字典互转内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Python3下错误AttributeError: ‘dict’ object has no attribute’ite
这篇文章主要跟大家介绍了关于在Python3下错误AttributeError: 'dict' object has no attribute 'iteritems'的分析与解决方法,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。2017-07-07安装ElasticSearch搜索工具并配置Python驱动的方法
这篇文章主要介绍了安装ElasticSearch搜索工具并配置Python驱动的方法,文中还介绍了其与Kibana数据显示客户端的配合使用,需要的朋友可以参考下2015-12-12Python3.6基于正则实现的计算器示例【无优化简单注释版】
这篇文章主要介绍了Python3.6基于正则实现的计算器,涉及Python基于正则表达式的算术式遍历、查找及数学运算相关操作技巧,需要的朋友可以参考下2018-06-06
最新评论