xml.etree.ElementTree解析xml文件

本文介绍了Python的xml.etree.ElementTree模块,用于解析和创建XML数据。内容包括解析XML文件、获取XML元素、修改XML文件的方法,如findall、find、text、get等,以及如何添加、修改和删除元素。此外,还讨论了处理XML命名空间的方法。
摘要由CSDN通过智能技术生成
1、简介

xml.etree.ElementTree 模块实现了一个简单而高效的API解析和创建xml数据,该模块对恶意构造的数据是不安全的,如果需要解析不受信任或未经身份验证的数据,请参考xml漏洞

2、解析xml

以下面xml文件作为示例数据
在这里插入图片描述
读取数据

import xml.etree.ElementTree as ET
tree = ET.parse(xml_path)
root = tree.getroot()
root
# result
<Element 'data' at 0x000002248A147A98>

生成的root有一个tag和字典属性

print(root.tag)
print(root.attrib)
# result
data
{
   }

通过迭代来查看root的子节点的tag和attrib

for child in root:
    print(child.tag)
    print(child.attrib)
# result
country
{
   'name': 'Liechtenstein'}
country
{
   'name': 'Singapore'}
country
{
   'name': 'Panama'}

子节点是嵌套的,可以通过索引来访问特定的节点

root[1][2].text
# result
'59900'
3、获取xml中的元素

Element 中的一些方法,可以递归的遍历它下面的所有子树,如Element.iter()

for neighbor in root.iter('neighbor'):
    print(neighbor.attrib)
    
# result
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值