python学习-52 XML模块
2024-08-26 18:52:58
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)
最新文章
- Scala 编程---类和对象
- CSS3 学习笔记
- venus java高并发框架
- Json 数据
- Cocos2d-x 2.x项目创建
- 用Visio画UML用例图
- 记一次Surface Pro 2还原操作
- POJ 1050 To the Max -- 动态规划
- SQL点滴24—监测表的变化
- MySQL命令(逐步更新ing)
- 转--Python re模块 验证11位手机号
- Centos7关闭防火墙
- shell脚本编写遍历某一目录下的所有文件
- centos7下安装docker(18.2docker日志---ELK)
- Vue(十六)vue-router路由
- centos7下安装docker(12.4容器如何与外部进行通信)
- ubuntu16.04系统安装
- QT信号与槽
- PL/SQL Developer 使用中文条件查询时无数据的解决方法(转)
- 使用mt_rand代替rand
热门文章
- 时间控件My97DatePicker事件监听及用法
- element-ui表格显示html格式
- Quartz Configuration Reference
- mkimage工具的用法
- vs 设置护眼背景颜色
- Linux_CentOS常用命令和shell命令技巧
- 在gitlab新建分支,IDEA切换时找不到的解决办法
- php 微信公众平台OAuth2.0网页授权,获取用户信息代码类封装demo
- JS语言中的JSON.parse()和JSON.stringify()
- LeetCode_342. Power of Four