etree解析xml_xml.etree.ElementTree功能介绍

本文约2200字,建议阅读时间11~14分钟

关键字:python,xml,可扩展标记语言,xml.etree.ElementTree

假设当前工作目录下存在data.xml文件,其内容如下:

f51e3601ff09f73147986301db4c7b72.png

1、XML文件的解析

(1)读取xml文件

import  xml.etree.ElementTree as ET

tree=ET.parse('data.xml')

#返回ElementTree对象

root=tree.getroot()

#返回Element对象

#亦可通过ET.fromstring(xml_string)来解析xml格式的根元素

(2)获取Element对象的标签

root.tag

#返回’data’

(3)获取Element对象的属性字典

root.attrib

#返回{}

(4)通过节点嵌套索引获取子节点信息

root[1][2].text

#返回’50’

注:建议通过API进行解析而不是通过xml文本,通过API解析的文档通常包含注释和处理指令。

2、非阻塞解析的Pull API

xml.etree.ElementTree模块提供的许多解析函数在返回结果前需要立刻读取整个文档,但有时我们需要在享受全文档带来便利的同时逐步解析xml文档而不产生阻塞,该模块提供的XMLPullParser.就是满足该条件的最有效的解析工具,它解析xml文档时不需要阻塞读取数据,而是通过feed方法来逐步读取,为了解析xml文档的元素,可以通过read_events方法来实现。

如果在读取xml数据不在乎阻塞且仍希望逐步获得逐步解析的能力,可以使用iterparser,它在读取大规模xml文档时且不想整体存入内存时很有用。

parser=ET.XMLPu

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值