解析xml——五分钟上手xml.etree.ElementTree

一.ElmentTree的层次结构

在这里插入图片描述

1.顶层——ElmentTree

ElementTree是最顶层的结构,一般整个xml文档被当作一棵ElementTree。即上图所示的整个文档被解析为一棵ElementTree。

2.中层——Element

包含树中的根节点和众多孩子节点。如图中的<annotation>,<filename>,<source>等。访问节点和节点所属的sub-element都是在这个层级上进行的。

3.底层——subelment

tag, attribtext三种,如上图所示。

二.树状结构

import xml.etree.ElementTree as ET
把xml.etree.ElementTree记作ET

1.构建ElementTree

使用tree=ET.parse('路径名.xml') 语句,把目标xml文件解析成一棵ElementTree。
这里有两点需要注意:

  • 这里的路径使用斜杠,而不是使用反斜杠。 Windows用户应特别注意,直接从地址栏复制的地址是反斜杠,需要手动改写。以下是一个C:/Users/Administrator/Desktop/000005.xml。

  • 路径应该用单引号或者双引号括起来,否则会报错。

2.找到根节点

这一步很重要,后续所有的访问几乎都基于根节点。就像数据结构中的树,所有的节点都可以由根节点出发找到。

使用root=tree.getroot()语句,找到tree的根节点,并将节点返回给root变量。

三.访问节点

<annotation a='123' b='222'>
	111111this is text.
	<folder>VOC2007</folder>
	<filename>000005.jpg</filename>
	<source>
		<database>The VOC2007 Database</database>
		<annotation>PASCAL VOC2007</annotation>
		<image>flickr</image>
		
  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值