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 相关文章推荐
浅谈MySQL中的触发器
May 05 Python
pymongo给mongodb创建索引的简单实现方法
May 06 Python
python从网络读取图片并直接进行处理的方法
May 22 Python
python3使用urllib模块制作网络爬虫
Apr 08 Python
浅谈Pandas 排序之后索引的问题
Jun 07 Python
python3实现逐字输出的方法
Jan 23 Python
Django项目之Elasticsearch搜索引擎的实例
Aug 21 Python
通过python3实现投票功能代码实例
Sep 26 Python
解决Python列表字符不区分大小写的问题
Dec 19 Python
python isinstance函数用法详解
Feb 13 Python
Python jieba结巴分词原理及用法解析
Nov 05 Python
用python删除文件夹中的重复图片(图片去重)
May 12 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+mysql保存和输出文件
2006/10/09 PHP
php 数组排序 array_multisort与uasort的区别
2011/03/24 PHP
Window下PHP三种运行方式图文详解
2013/06/11 PHP
PHP设计模式之迭代器模式的深入解析
2013/06/13 PHP
ThinkPHP3.1新特性之Action参数绑定
2014/06/19 PHP
Yii清理缓存的方法
2016/01/06 PHP
用js实现in_array的方法
2013/11/05 Javascript
js查找节点的方法小结
2015/01/13 Javascript
浅谈EasyUI中Treegrid节点的删除
2015/03/01 Javascript
为何JS操作的href都是javascript:void(0);呢
2015/11/12 Javascript
常用的Javascript设计模式小结
2015/12/09 Javascript
JS实现简单的tab切换选项卡效果
2016/09/21 Javascript
JavaScript中apply方法的应用技巧小结
2016/09/29 Javascript
Bootstrap 手风琴菜单的实现代码
2017/01/20 Javascript
vuejs如何配置less
2017/04/25 Javascript
解决option标签selected="selected"属性失效的问题
2017/11/06 Javascript
详解jQuery获取特殊属性的值以及设置内容
2018/11/14 jQuery
VUE的history模式下除了index外其他路由404报错解决办法
2019/08/21 Javascript
vue实现修改图片后实时更新
2019/11/14 Javascript
Bootstrap简单实用的表单验证插件BootstrapValidator用法实例详解
2020/03/29 Javascript
python根据京东商品url获取产品价格
2015/08/09 Python
Python 基础教程之闭包的使用方法
2017/09/29 Python
使用Template格式化Python字符串的方法
2019/01/22 Python
Python基础学习之函数方法实例详解
2019/06/18 Python
Django中create和save方法的不同
2019/08/13 Python
Pycharm中安装wordcloud等库失败问题及终端通过pip安装的Python库如何添加到Pycharm解释器中(推荐)
2020/05/10 Python
python中字典增加和删除使用方法
2020/09/30 Python
教师实习自我鉴定
2013/12/11 职场文书
查环查孕证明
2014/01/10 职场文书
高中国旗下的演讲稿
2014/08/28 职场文书
小学教师暑期培训方案
2014/08/28 职场文书
教师评职称工作总结2015
2015/04/20 职场文书
晚会主持人开场白台词
2015/05/28 职场文书
2015年科学教研组工作总结
2015/07/22 职场文书
深度学习tensorflow基础mnist
2021/04/14 Python
keepalived + nginx 实现高可用方案
2022/12/24 Servers