XML读取

python XML文件读取

刚好接触了XML文件的读取,了解了一个过程,先进行记录:

XML 文件解析 - 知乎 (zhihu.com)

python 使用ElementTree解析xml - wanlifeipeng - 博客园 (cnblogs.com)

XML就是采用树状的方式进行存储数据,就是将整个文件看成一棵树进行存放数据。先上XML图:

image-20211204145919005

基础操作

import xml.etree.ElementTree as ET

# 加载xml文件
tree = ET.parse('10.xml')
# tree = ET.ElementTree(file='10.xml')# 

# 获得root Element节点
root = tree.getroot()

# 获取目标节点
objects = root.find("object")

# 节点的tag
root.tag

# 节点的属性
root.attrib

# 节点文本字符串
root.text

# 遍历xml文件中的所有节点
for elem in tree.iter()print(elem.tag,elem.attrib,elem.text)
    
# 只迭代object 节点下的 name 和 bndbox
# 法一:
for elem in root.iter(tag='object'):
    # 获取矩形框坐标
    box = [int(el.text) for el in  elem.find('bndbox')]
    # 获取目标类别
    box.append(elem.find('name').text)

    boxes.append(box)

# 法二:
dot=tree.find('object')
for elem in dot.iter():
    ......

image-20211204153335162

上述是一些简单的使用,想知道更多操作,请移步上方的引用链接。

总结

感觉xml的读取方式让我更好的了解了,什么时候用.tag,什么时候在调用完.tag之后要加括号。

因为tag是root的自带性质,所以可以通过root.tag来得到,而对于其他时候,我们需要用a.item()这里的a.item()是举个例子,我们在调的是需要在后方加一个括号,因为这个item是一个函数,并不是a自身的性质,只是这个函数无需传参而已。

理解已经文字表达浅薄,请路过大佬指教。

个括号,因为这个item是一个函数,并不是a自身的性质,只是这个函数无需传参而已。

理解已经文字表达浅薄,请路过大佬指教。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值