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 相关文章推荐
简单介绍利用TK在Python下进行GUI编程的教程
Apr 13 Python
浅谈Python中数据解析
May 05 Python
python3.5使用tkinter制作记事本
Jun 20 Python
浅析Python中的赋值和深浅拷贝
Aug 15 Python
python先序遍历二叉树问题
Nov 10 Python
python爬虫使用cookie登录详解
Dec 27 Python
Python3.6连接Oracle数据库的方法详解
May 18 Python
python实现linux下抓包并存库功能
Jul 18 Python
python实现简单flappy bird
Dec 24 Python
python Tkinter版学生管理系统
Feb 20 Python
Python叠加两幅栅格图像的实现方法
Jul 05 Python
python Django里CSRF 对应策略详解
Aug 05 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
php set_magic_quotes_runtime() 函数过时解决方法
2010/07/08 PHP
PHP json_encode中文乱码问题的解决办法
2013/09/09 PHP
PHP实现打包zip并下载功能
2018/06/12 PHP
[原创]网络复制内容时常用的正则+editplus
2006/11/30 Javascript
Ajax+Json 级联菜单实现代码
2009/10/27 Javascript
prototype 中文参数乱码解决方案
2009/11/09 Javascript
国外大牛IE版本检测!现在IE都到9了,IE检测代码
2012/01/04 Javascript
js弹出窗口之弹出层的小例子
2013/06/17 Javascript
基于MVC3方式实现下拉列表联动(JQuery)
2013/09/02 Javascript
根据当前时间在jsp页面上显示上午或下午
2014/08/18 Javascript
jQuery中:file选择器用法实例
2015/01/04 Javascript
基于JavaScript短信验证码如何实现
2016/01/24 Javascript
JavaScript浏览器对象模型BOM(BrowserObjectModel)实例详解
2016/11/29 Javascript
jQuery实现 上升、下降、删除、添加一行代码
2017/03/06 Javascript
Vue.js 2.0 移动端拍照压缩图片预览及上传实例
2017/04/27 Javascript
在百度搜索结果中去除掉一些网站的资料(通过js控制不让显示)
2017/05/02 Javascript
Vue.js实现网格列表布局转换方法
2017/08/25 Javascript
vue 监听键盘回车事件详解 @keyup.enter || @keyup.enter.native
2018/08/25 Javascript
vue.js使用v-model实现表单元素(input) 双向数据绑定功能示例
2019/03/08 Javascript
Element Alert警告的具体使用方法
2020/07/27 Javascript
详解JavaScript中的链式调用
2020/11/27 Javascript
js闭包的9个使用场景
2020/12/29 Javascript
JS实现页面侧边栏效果探究
2021/01/08 Javascript
python数据结构之链表的实例讲解
2017/07/25 Python
Django Rest framework解析器和渲染器详解
2019/07/25 Python
python加密解密库cryptography使用openSSL生成的密匙加密解密
2020/02/11 Python
大学第二课堂活动总结
2014/07/08 职场文书
买房子个人收入证明
2014/10/12 职场文书
法定代表人授权委托书格式
2014/10/14 职场文书
2014年幼儿园保育工作总结
2014/12/02 职场文书
2014年食品安全工作总结
2014/12/04 职场文书
本溪水洞导游词
2015/02/11 职场文书
电影建党伟业观后感
2015/06/01 职场文书
歌舞青春观后感
2015/06/10 职场文书
鲁滨逊漂流记读书笔记
2015/06/26 职场文书
Rust中的Struct使用示例详解
2022/08/14 Javascript