ElementTree解析XML文件

常用方法:

  1. Element.findall(): 只找到带有标签的元素,该标签是当前元素的直接子元素。
  2. Element.find() :找到第一个带有特定标签的子元素。
  3. Element.text:访问标签的内容
  4. Element.get():访问标签的属性值
  5. ElementTree.write() :创建xml文件或向xml中写入数据。
  6. Element.set():添加和修改标签的属性和属性值。
  7. 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文档

posted @   山村放羊娃  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示