xml.etree.ElementTree模块实现了一个简单而有效的用户解析和创建XML数据的API
我把该XML文件保存在:F:\data\VOCdevkit\VOC2012\Annotations\2007_000027.xml文件中
xml数据结构是树状的,有根节点、子节点。在根节点下面,可以有很多子节点,而每一个子节点又可以有自己的属性或子节点….
上图的根节点就一个:annotation
import xml.etree.ElementTree as ET #导入模块
#读取XML文件
tree = ET.parse('F:\\data\\VOCdevkit\\VOC2012\\Annotations\\2007_000027.xml')
root = tree.getroot() #获取根节点
tag = root.tag #获取根节点的名称
attrib = root.attrib #获取根节点的属性
获取子节点的名称和属性:
for child in root:
print(child.tag, child.attrib)
输出为:
获取子节点的名称的值:
element_objs = element.findall('object') #object是一级子节点 ,输出:[Element]
element_filename = element.find('filename').text #filename是一级子节点,输出:2007_000027.jpg
element_width = int(element.find('size').find('width').text) #size是一级子节点 , 输出:486
element_height = int(element.find('size').find('height').text)#输出:500