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 相关文章推荐
使用Node.js和Socket.IO扩展Django的实时处理功能
Apr 20 Python
对Python 网络设备巡检脚本的实例讲解
Apr 22 Python
Python Pexpect库的简单使用方法
Jan 29 Python
python os模块简单应用示例
May 23 Python
python实现动态创建类的方法分析
Jun 25 Python
python导包的几种方法(自定义包的生成以及导入详解)
Jul 15 Python
django中的数据库迁移的实现
Mar 16 Python
基于python实现数组格式参数加密计算
Apr 21 Python
PyCharm vs VSCode,作为python开发者,你更倾向哪种IDE呢?
Aug 17 Python
基于Python中Remove函数的用法讨论
Dec 11 Python
python中的插入排序的简单用法
Jan 19 Python
PyQt5实现多张图片显示并滚动
Jun 11 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
构建简单的Webmail系统
2006/10/09 PHP
php实现登录tplink WR882N获取IP和重启的方法
2016/07/20 PHP
Yii2数据库操作常用方法小结
2017/05/04 PHP
thinkPHP框架整合tcpdf插件操作示例
2018/08/07 PHP
php对微信支付回调处理的方法
2018/08/23 PHP
响应鼠标变换表格背景或者颜色的代码
2009/03/30 Javascript
Jquery each方法跳出循环,并获取返回值(实例讲解)
2013/12/12 Javascript
原生javascript模仿win8等待提示圆圈进度条
2014/04/24 Javascript
jQuery实现友好的轮播图片特效
2015/01/12 Javascript
JavaScript实现对下拉列表值进行排序的方法
2015/07/15 Javascript
JavaScript ParseFloat()方法
2015/12/18 Javascript
BootStrap Progressbar 实现大文件上传的进度条的实例代码
2016/06/27 Javascript
使用jQuery调用XML实现无刷新即时聊天
2016/08/07 Javascript
Mobile Web开发基础之四--处理手机设备的横竖屏问题
2017/08/11 Javascript
基于vue-cli vue-router搭建底部导航栏移动前端项目
2018/02/28 Javascript
AngularJS日期格式化常见操作实例分析
2018/05/17 Javascript
Vue源码解读之Component组件注册的实现
2018/08/24 Javascript
解析vue、angular深度作用选择器
2019/09/11 Javascript
在vue中使用echars实现上浮与下钻效果
2019/11/08 Javascript
python3中bytes和string之间的互相转换
2017/02/09 Python
Python实现读取并保存文件的类
2017/05/11 Python
Django Admin 实现外键过滤的方法
2017/09/29 Python
解决python3插入mysql时内容带有引号的问题
2020/03/02 Python
IntelliJ 中配置 Anaconda的过程图解
2020/06/01 Python
哪些是python中web开发框架
2020/06/17 Python
让IE支持CSS3的不完全兼容方案
2014/09/19 HTML / CSS
数百万免费的图形资源:Freepik
2020/09/21 全球购物
一套带答案的C++笔试题
2014/01/10 面试题
2014优秀大学生简历自我评价
2014/09/15 职场文书
自主招生自荐信格式范文
2015/03/25 职场文书
2015年房地产个人工作总结
2015/05/26 职场文书
Jupyter notebook 输出部分显示不全的解决方案
2021/04/24 Python
使用php的mail()函数实现发送邮件功能
2021/06/03 PHP
webpack的移动端适配方案小结
2021/07/25 Javascript
Python 中的 copy()和deepcopy()
2021/11/07 Python
nginx内存池源码解析
2021/11/20 Servers