python学习-52 XML模块
XML模块
xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但是json使用起来更简单。
例如:创建一个xml文件
<data>
<country name="china">
<rank updated="yes">1</rank>
<year>2019</year>
<neighbor name="American"/>
</country>
<country name="Canada">
<rank updated="yes">2</rank>
<year>2019</year>
<neighbor name="American"/>
</country>
</data>
查询内容
import xml.etree.ElementTree as ET
tree = ET.parse("xml")
root = tree.getroot()
print(root.tag)
print('__________________')
# 查
for a in root: # 遍历根
print(a.tag)
print(a.attrib)
for b in a : # 遍历根的下一级
print(b.text)
for node in root.iter('year'): #遍历节点,取year的内容
print(node.tag,node.text)
运行结果:
data
__________________
country
{'name': 'china'}
2
2019
None
country
{'name': 'Canada'}
2
2019
None
year 2019
year 2019 Process finished with exit code 0
修改和删除
import xml.etree.ElementTree as ET
tree = ET.parse("xml")
root = tree.getroot()
# 修改
for node in root.iter("year"):
new_year = int(node.text) + 1 # 年份加1
node.text = str(new_year)
node.set("updated","yes") # 多加一个属性
tree.write("xml_text.xml") # 放到一个新的文件里
# 删除
for country in root.findall("country"):
rank = int(country.find("rank").text)
if rank >1: # 删除排名大于1的国家的信息
root.remove(country)
tree.write("xml_test2.xml")
创建一个xml文件
import xml.etree.ElementTree as ET
new_xml = ET.Element("namelist")
name =ET.SubElement(new_xml,"name",attrib={"enrolled":"yes"})
age = ET.SubElement(name,"age",attrib={"checked":"no"})
sex = ET.SubElement(name,"sex")
sex.text = ""
et = ET.ElementTree(new_xml)
et.write("xml2_test.xml",encoding="utf-8",xml_declaration=True)
python学习-52 XML模块的更多相关文章
- python学习之argparse模块
python学习之argparse模块 一.简介: argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块.argparse模块的作用是用于解析命令行 ...
- Python学习day19-常用模块之re模块
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
- Python学习 Part4:模块
Python学习 Part4:模块 1. 模块是将定义保存在一个文件中的方法,然后在脚本中或解释器的交互实例中使用.模块中的定义可以被导入到其他模块或者main模块. 模块就是一个包含Python定义 ...
- Python学习day18-常用模块之NumPy
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
- python学习笔记_week5_模块
模块 一.定义: 模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能), 本质就是.py结尾的python文件(文件名:test.py,对应模块名:test) 包:用来从逻辑上 ...
- Python学习-day5 常用模块
day5主要是各种常用模块的学习 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 conf ...
- Python学习笔记-常用模块
1.python模块 如果你退出 Python 解释器并重新进入,你做的任何定义(变量和方法)都会丢失.因此,如果你想要编写一些更大的程序,为准备解释器输入使用一个文本编辑器会更好,并以那个文件替代作 ...
- Python学习笔记--XML的应用
XML的定义 XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输数据,而非显示数据 XML 标签没有被 ...
- python学习之random模块
Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...
随机推荐
- JavaScript初探系列目录
一 系列导航 结合各方面的参考资料,整理出来以下主要目录,供方便浏览查看 (一)初探系列 JavaScript初探系列(1)——基本概念 JavaScript初探系列(2)——数 ...
- fdconnection自动重连
fdconnection自动重连 1)设置 FDConnection1.ResourceOptions.AutoReconnect := True; 控制自动连接的恢复. 使用AutoReconnec ...
- 表观 | Enhancer | ChIP-seq | 转录因子 | 数据库专题
需要长期更新! 参考:生信修炼手册 enhancer的基本概念: 长度几十到几千bp,作用是提高靶基因活性,属于顺式作用原件,DNA作用到DNA,转录因子就是反式,是结合到DNA的蛋白. 1981年, ...
- C#读取Word指定页的内容
/// <summary> /// Word按页读取内容 /// </summary> /// <param name="page">页数< ...
- MyBatis 示例之存储过程
存储过程在数据库中比较常见,虽然大多数存储过程比较复杂,但是使用 MyBatis 调用时,用法都一样,因此我们这一节使用一个简单的存储过程来了解 MyBatis 中存储过程的使用方法. 基本准备 存储 ...
- Flutter BottomNavigationBar 组件
BottomNavigationBar 是底部导航条,可以让我们定义底部 Tab 切换,bottomNavigationBar是 Scaffold 组件的参数. BottomNavigationBar ...
- pytorch怎么使用定义好的模型的一部分
Encoder代码为: .输入图片的通道nc=.ndf=. def __init__(self,isize,nz,nc,ndf,ngpu,n_exter_layers=,add_final_conv= ...
- 013-docker-安装-Centos7
1.搜索镜像 docker search centos 2.拉取合适镜像 选择合适tag:https://hub.docker.com/,下载合适版本 docker pull centos:6.6 d ...
- Flutter设置图片为正方形
AspectRatio( aspectRatio:/, child:Image.network("src") )
- cJSON笔记
github地址: https://github.com/DaveGamble/cJSON 需要将cJSON.h 和 cJSON.c拷贝到路径下,并且连接所需库文件 -lm 步骤:1.先将普通的jso ...