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 SDK写一个同步脚本及使用教程
Aug 23 Python
python使用turtle库绘制时钟
Mar 25 Python
Python for循环与range函数的使用详解
Mar 23 Python
使用python list 查找所有匹配元素的位置实例
Jun 11 Python
python 利用浏览器 Cookie 模拟登录的用户访问知乎的方法
Jul 11 Python
Python 实现毫秒级淘宝抢购脚本的示例代码
Sep 16 Python
Python 实现递归法解决迷宫问题的示例代码
Jan 12 Python
Python操作注册表详细步骤介绍
Feb 05 Python
pytorch:model.train和model.eval用法及区别详解
Feb 20 Python
Django跨域资源共享问题(推荐)
Mar 09 Python
如何利用python生成MD5并去重
Dec 07 Python
python绘制汉诺塔
Mar 01 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中的trait
2017/02/25 PHP
在Ubuntu 18.04上安装PHP 7.3 7.2和7.0的方法
2019/04/09 PHP
jQuery 1.4 15个你应该知道的新特性(译)
2010/01/24 Javascript
jQuery的实现原理的模拟代码 -2 数据部分
2010/08/01 Javascript
Jquery图片延迟加载插件jquery.lazyload.js的使用方法
2014/05/21 Javascript
浅谈js的setInterval事件
2014/12/05 Javascript
跟我学习javascript的prototype,getPrototypeOf和__proto__
2015/11/17 Javascript
AngularJS中watch监听用法分析
2016/11/04 Javascript
详解AngularJS2 Http服务
2017/06/26 Javascript
微信小程序使用slider设置数据值及switch开关组件功能【附源码下载】
2017/12/09 Javascript
jQuery实现模糊搜索功能的方法分析
2018/06/29 jQuery
Vue实现商品详情页的评价列表功能
2019/09/04 Javascript
Vue实现数据请求拦截
2019/10/23 Javascript
vue引用外部JS的两种种方法
2020/01/28 Javascript
[02:44]DOTA2英雄基础教程 魅惑魔女
2014/01/07 DOTA
[42:20]Winstrike vs VGJ.S 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
Python中super的用法实例
2015/05/28 Python
详解Python中的变量及其命名和打印
2016/03/11 Python
python 采集中文乱码问题的完美解决方法
2016/09/27 Python
Python 实现王者荣耀中的敏感词过滤示例
2019/01/21 Python
python TF-IDF算法实现文本关键词提取
2019/05/29 Python
python3 反射的四种基本方法解析
2019/08/26 Python
详解python metaclass(元类)
2020/08/13 Python
selenium+headless chrome爬虫的实现示例
2021/01/08 Python
Philosophy美国官网:美国美容品牌
2016/08/15 全球购物
简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程
2012/04/17 面试题
临床医学专业毕业生的自我评价
2013/10/17 职场文书
毕业生自荐信的主要内容
2013/10/29 职场文书
同学会邀请书大全
2014/01/12 职场文书
2014年小学元旦活动方案
2014/02/12 职场文书
环保建议书400字
2014/05/14 职场文书
审计班子对照检查材料
2014/08/27 职场文书
施工安全协议书范本
2014/09/26 职场文书
车间主任岗位职责
2015/02/03 职场文书
药品开票员岗位职责
2015/04/15 职场文书
MYSQL如何查看进程和kill进程
2022/03/13 MySQL