博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python——数据存储:XML操作
阅读量:6574 次
发布时间:2019-06-24

本文共 2015 字,大约阅读时间需要 6 分钟。

  XML文件已被广泛使用在各种应用中,如Web、移动APP、桌面GUI应用等等,几乎都会有XML文件的身影。不过现在一般不会将大部分的应用数据用xml文件存储,但至少会使用XML文件保存一些配置信息。在Python中,需要导入XML模块或其子模块,并利用提供的API来操作XML文件。如,xml.etree.ElementTree模块,通过该模块的parse函数读取XML文件。 由于下面XML操作都需要用到XML文件,文件如下:
persons.xml文件的内容: 
20
names
2000
30
Gell
3000
40
Chen
4000
50
Ling
以下介绍python语言对XML文件的具体操作。 一、读取与检索XML文件 from xml.etree.ElementTree import parse doc = parse('./files/persons.xml') for item in doc.iterfind('item'):     # 读取id节点的值     salary = item.findtext('salary')     # 读取name节点的值     age = item.findtext('age')     # 读取price节点的值     name = item.findtext('name')     type = item.get('type')     uuid = item.get('uuid')     print('type={}'.format(type))     print('uuid={}'.format(uuid))     print('salary={}'.format(salary))     print('age', '=', age)     print('name', '=', name)     print('-----------------')
二、字典转成XML字符串
import dicttoxml from xml.dom.minidom import parseString import os d = [20,'names',      {'name':'Gell','age':30,'salary':2000},      {'name':'Chen','age':40,'salary':3000},      {'name':'Ling','age':50,'salary':4000}      ] bxml = dicttoxml.dicttoxml(d,custom_root='persons') xml = bxml.decode('utf-8') print(xml) print('----------------------') dom = parseString(xml) prettyxml = dom.toprettyxml(indent='    ') print(prettyxml) #将XML字符串保存到文件中。 os.makedirs('files',exist_ok=True) f=open('files/persons.xml','w',encoding='utf-8') f.write(prettyxml) f.close()
三、XML字符串转为python字典
import xmltodict import pprint f=open('./files/persons.xml','rt',encoding='utf-8') xml = f.read() d=xmltodict.parse(xml) print(d) f.close() pp = pprint.PrettyPrinter(indent=0) pp.pprint(d)
  参考文献: 1、《python从菜鸟到高手》,作者:李宁

转载于:https://www.cnblogs.com/chenhaiming/p/9881819.html

你可能感兴趣的文章
创建触发器的基本语法
查看>>
2015.1.15 利用Oracle函数返回表结果 重大技术进步!
查看>>
2015.3.2 VC++6制作非MFC dll以及VS2005、VS2010调用
查看>>
转:模态对话框的支持 (IE,Firefox,Chrome)
查看>>
让您的电脑在任意目录可以支持图片的粘贴,试试看呗~
查看>>
Jenkins+QTP自动化测试框架
查看>>
《Node.js In Action》笔记之流程控制
查看>>
C++类和对象
查看>>
3518EV200 SDK学习1
查看>>
JavaScript初学者应注意的七个细节
查看>>
1163: 零起点学算法70——Yes,I can!
查看>>
zookeeper原理及作用
查看>>
[ZJOI2015]诸神眷顾的幻想乡
查看>>
2018-2019-2 网络对抗技术 20165318 Exp1 PC平台逆向破解
查看>>
关于图片或者文件在数据库的存储方式归纳
查看>>
存储过程和SQL语句比较及存储过程在C#中调用方法
查看>>
hihocoder 1014 Trie树
查看>>
ADO.NET笔记——使用DataSet返回数据
查看>>
【机器学习】--关联规则算法从初识到应用
查看>>
windows 下nginx php安装
查看>>