ElementTree解析XML文件
常用方法:
- Element.findall(): 只找到带有标签的元素,该标签是当前元素的直接子元素。
- Element.find() :找到第一个带有特定标签的子元素。
- Element.text:访问标签的内容
- Element.get():访问标签的属性值
- ElementTree.write() :创建xml文件或向xml中写入数据。
- Element.set():添加和修改标签的属性和属性值。
- Element.append():添加孩子节点
8:SubElement():用于创建新的子元素
查找XML中指定元素的属性
查找country节点的属性:attrib:元素属性,text:元素的值
for country in root.findall("country"):
... print(country.attrib)
在country节点中查找指定名称节点的值
for country in root.findall("country"):
... rank=country.find("rank").text =========》find:只匹配找到结果的第一个
... name=country.get("name")
... print(name,rank)
查找country节点下rank属性的内容(tag:节点名称,text:标签内容)
for elem in tree.iterfind("country/rank"):
... print(elem.tag,elem.text)
...
('rank', '1')
('rank', '4')
('rank', '68')
查找指定节点子节点的tag和属性
for elem in tree.iterfind("branch/sub-branch"):
... print(elem.tag,elem.attrib)
...
('sub-branch', {'name': 'subrelease01'})
添加子节点的属性
给rank元素添加一个update属性,它的值为yes
for rank in root.iter("rank"):
... rank.set("updated","yes")
...
tree.write("output.xml") =============>将添加的结果保存至XML
为root的第一个子节点添加foo=bar的属性
root[0].set("foo","bar")
tree.write("output.xml")
删除操作
del root[2] ====================》删除第3个子节点(节点下标从0开始)
tree.write("output.xml")
修改XML属性的值
构建XML文件
一是你先读取一个XML文档,进行修改,然后再将修改写入文档,二是从头创建一个新XML文档
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」