python操作XML
来源:互联网 发布:天刀离玉堂捏脸数据 编辑:程序博客网 时间:2024/05/29 02:46
XML是实现不同语言或程序之间进行数据交换的协议,XML文件格式如下:
<data> <country name="Liechtenstein"> <rank updated="yes">2</rank> <year age="25">2033</year> <gdppc>141100</gdppc> <neighbor direction="E" name="Austria" /> <neighbor direction="W" name="Switzerland" /> </country> <country name="Singapore"> <rank updated="yes">5</rank> <year age="25">2036</year> <gdppc>59900</gdppc> <neighbor direction="N" name="Malaysia" /> </country> <country name="Panama"> <rank updated="yes">69</rank> <year age="25" type="date">2036</year> <gdppc>13600</gdppc> <neighbor direction="W" name="Costa Rica" /> <neighbor direction="E" name="Colombia" /> </country></data>我们创建操作XMl对象有2种创建方法 如下
# -*- coding: utf-8 -*-from xml.etree import ElementTree as ET#打开文件 读取XML内容 第一种创建方法str_xml= open('data.xml','r').read()#将字符串解析成xml特殊对象,root代指xml文件的根节点root = ET.XML(str_xml) #dataprint(root) #返回一个对象#输出 <Element 'data' at 0x1006feb50># 第二种创建方法# 直接解析xml文件tree = ET.parse('data.xml')#获取xml文件的根节点root = tree.getroot()print(root) #输出 <Element 'data' at 0x101821650>我们可以查看data.xml所有的节点
#便利所有的子节点for child in root: #第二层 print(child.tag,child.attrib) #输出一个元组 #对第二层节点下面的子节点进行便利 for i in child: print(i.tag,i.attrib)
获取指定的节点
#获取xml中的制定节点for child in root.iter('year'): print(child.tag,child.attrib)
对XML中的操作一般是在内存中进行的,不会影响到文件中的内容,因此我们在内存中写完之后需要重新写入文件
#对xml文件进行操作 增删改查for node in root.iter('year'): # 将year内容+10 new_year = int(node.text)+10 node.text = str(new_year) # 设置属性 node.set('name','eric') node.set('age','25') #删除属性 del node.attrib['age']#保存到文件tree = ET.ElementTree(root)tree.write('data.xml',encoding='utf-8')#删除节点for country in root.findall('country'): # 获取每一个country节点下rank节点的内容 rank = int(country.find('rank').text) if rank > 50: root.remove(country) #会删除掉 整个country节点和下面的内容#保存到文件tree = ET.ElementTree(root)tree.write('data.xml',encoding='utf-8')
1 0
- python操作xml文档
- python操作xml
- python对XML 操作
- Python操作XML
- python对XML 操作
- python对XML 操作
- python对XML 操作
- python对XML 操作
- Python XML操作处理
- Python XML操作处理
- python对XML 操作
- python操作XML
- xml模块操作 python
- [python]python操作xml文件
- 14.python的xml操作
- python之xml操作问题
- python操作xml创建网站
- python操作XML文件------elementtree
- [LeetCode] 145. Binary Tree Postorder Traversal
- 获取两个字符串之间最长公共子串的长度
- IP与国家对应关系
- 归并排序时间复杂度----主定理
- webgoat Easy Run ( For non-developers )
- python操作XML
- eclips导入GitHub的java文件
- Android 更新ProgressBar
- 使用jatoolsPrinter最新免费版实现套打
- 什么是P问题、NP问题和NPC问题【Matrix67】
- Linux下程序开机自启动方法
- Git基础篇之远程仓库的基本操作以及如何给github的ReadMe文件添加图片
- 异常:No result defined for action
- 数据结构之栈与队列数学表达式的求值