python对XML文件的操作实现代码


Posted in Python onMarch 27, 2020

python对XML文件的操作

1、xml 创建

import xml.etree.ElementTree as ET

new_xml=ET.Element('personinfolist')  #最外面的标签名
personinfo=ET.SubElement(new_xml,'personinfo',attrib={'enrolled':'aaa'}) #对应的参数是:父级标签是谁,当前标签名,当前标签属性与值
name=ET.SubElement(personinfo,'name')
name.text='xaoming'
age=ET.SubElement(personinfo,'age',attrib={'checked':'yes'})
age.text='23'

personinfo2=ET.SubElement(new_xml,'personinfo',attrib={'enrolled':'bbb'})
name=ET.SubElement(personinfo2,'name')
name.text='xaokong'
age=ET.SubElement(personinfo2,'age',attrib={'checked':'no'})
age.text='20'

et=ET.ElementTree(new_xml)
et.write('text1.xml',encoding='utf-8',xml_declaration=True)#生成text1.xml

2、xml 数据查询

import xml.etree.ElementTree as ET
tree=ET.parse('text1.xml')
root=tree.getroot()
print(root.tag)
#遍历 xml 文档
for i in root:
  print(i.tag,i.attrib)  # tag是指标签名,attrib 是指标签里的属性,text 是指标签内容
  for j in i:
    print(j.tag,j.attrib,j.text)
    for k in j:
      print(k.tag,k.attrib,k.text)
#只遍历 year 标签
for w in root.iter('year'): #只遍历指定标签
  print(w.tag,w.text)

3、xml 数据修改

import xml.etree.ElementTree as ET
tree=ET.parse('text1.xml')
root=tree.getroot()
print(root.tag)
#修改 xml
for node in root.iter('year'): #要修改的标签
  new_year=int(node.text)+1
  node.text=str(new_year)
  node.set('updsted_by','kong') #给这个标签(year)添加新的属性 key:value
tree.write('text1.xml')   #再吧数据写回去

4、xml 数据删除

import xml.etree.ElementTree as ET
tree=ET.parse('text1.xml')
root=tree.getroot()
for country in root.findall('country'):  #会取这个标签所有的数据
  rank=int(country.find('rank').text)
  if rank > 50:
    root.remove(country)  #删除数据
tree.write('output.xml') #再把数据写回文件

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
实例讲解Python中函数的调用与定义
Mar 14 Python
django 创建过滤器的实例详解
Aug 14 Python
python爬虫headers设置后无效的解决方法
Oct 21 Python
Pyinstaller将py打包成exe的实例
Mar 31 Python
解决python matplotlib imshow无法显示的问题
May 24 Python
python中partial()基础用法说明
Dec 30 Python
Python闭包和装饰器用法实例详解
May 22 Python
python实现按关键字筛选日志文件
Dec 24 Python
Python web如何在IIS发布应用过程解析
May 27 Python
python怎么提高计算速度
Jun 11 Python
python3爬虫中异步协程的用法
Jul 10 Python
python通过opencv调用摄像头操作实例分析
Jun 07 Python
Python Socketserver实现FTP文件上传下载代码实例
Mar 27 #Python
使用python从三个角度解决josephus问题的方法
Mar 27 #Python
解决django接口无法通过ip进行访问的问题
Mar 27 #Python
Django 实现将图片转为Base64,然后使用json传输
Mar 27 #Python
python实现简单坦克大战
Mar 27 #Python
Django实现从数据库中获取到的数据转换为dict
Mar 27 #Python
Python生成器实现简单"生产者消费者"模型代码实例
Mar 27 #Python
You might like
excellent!――ASCII Art(由目标图象生成ascii)
2007/02/20 PHP
关于Appserv无法打开localhost问题的解决方法
2009/10/16 PHP
PHP数据类型之布尔型的介绍
2013/04/28 PHP
配置eAccelerator和XCache扩展来加速PHP程序的执行
2015/12/22 PHP
Smarty缓存机制实例详解【三种缓存方式】
2019/07/20 PHP
PHP基于swoole多进程操作示例
2019/08/12 PHP
laravel自定义分页的实现案例offset()和limit()
2019/10/15 PHP
再次更新!MSClass (Class Of Marquee Scroll通用不间断滚动JS封装类 Ver 1.6)
2007/02/05 Javascript
javascript 模拟点击广告
2010/01/02 Javascript
node.js入门教程迷你书、node.js入门web应用开发完全示例
2014/04/06 Javascript
javascript实现iframe框架延时加载的方法
2014/10/30 Javascript
JS实现的网页倒计时数字时钟效果
2015/03/02 Javascript
JavaScript的事件代理和委托实例分析
2015/03/25 Javascript
jquery表格datatables实例解析 直接加载和延迟加载
2016/08/12 Javascript
利用jQuery实现打字机字幕效果实例代码
2016/09/02 Javascript
纯JS焦点图特效实例(可一个页面多用)
2016/12/07 Javascript
利用vscode编写vue的简单配置详解
2017/06/17 Javascript
微信JSAPI Ticket接口签名详解
2020/06/28 Javascript
JavaScript获取tr td 的三种方式全面总结(推荐)
2017/08/15 Javascript
详解如何在vue项目中使用lodop打印插件
2018/09/27 Javascript
教你完全理解ReentrantLock重入锁
2019/06/03 Javascript
微信小游戏之使用three.js 绘制一个旋转的三角形
2019/06/10 Javascript
vue用elementui写form表单时,在label里添加空格操作
2020/08/13 Javascript
Vue+Element自定义纵向表格表头教程
2020/10/26 Javascript
Python实现计算圆周率π的值到任意位的方法示例
2018/05/08 Python
Python(TensorFlow框架)实现手写数字识别系统的方法
2018/05/29 Python
解决python xx.py文件点击完之后一闪而过的问题
2019/06/24 Python
Python字典常见操作实例小结【定义、添加、删除、遍历】
2019/10/25 Python
Python 自由定制表格的实现示例
2020/03/20 Python
Keras 加载已经训练好的模型进行预测操作
2020/06/17 Python
js正则匹配markdown里的图片标签的实现
2021/03/24 Javascript
千元咖啡店的创业计划书范文
2013/12/29 职场文书
冰峪沟导游词
2015/02/09 职场文书
初中美术教学反思
2016/02/17 职场文书
大学生各类奖学金申请书
2019/06/24 职场文书
JavaScript如何优化逻辑判断代码详解
2021/06/08 Javascript