目录
第二部分:使用xml.etree.ElementTree处理XML
4.2 使用find(), findall(), 和findtext()
详见XML介绍:XML与ARXML文件详解:从通用数据交换到汽车软件的基石
第一部分:XML基础与Python库概览
第1章:XML文件快速回顾
一个XML文件的核心在于其层次化的树形结构。它由以下部分组成:
- 声明:
<?xml version="1.0" encoding="UTF-8"?>定义了版本和编码。 - 元素:构成树结构的节点,如
<book>、<title>。 - 属性:元素的附加信息,如
<book id="123">。 - 文本:元素的内容,如
<title>Python编程</title>。 - 注释:
<!-- 这是一个注释 -->。
一个简单的XML示例(books.xml):
<?xml version="1.0" encoding="UTF-8"?>
<catalog>
<book id="bk101" category="CS">
<author>李伟</author>
<title>Python从入门到实践</title>
<price>89.00</price>
</book>
<book id="bk102" category="Fiction">
<author>刘慈欣</author>
<title>三体</title>
<price>59.80</price>
</book>
</catalog>
第2章:Python的XML处理库家族
Python标准库提供了三套主要API来处理XML,各有其适用场景:
-
xml.etree.ElementTree (ET):
- 特点:轻量级、Pythonic、内存消耗相对较小、API简洁。
- 适用场景:大多数XML读写任务的首选,尤其适合中小型文件和简单的数据提取。
-
xml.dom.minidom (DOM):
- 特点:实现了W3C DOM API的一个简化版本。将整个文档加载到内存,形成一棵节点树。
- 适用场景:需要完全随机访问整个文档、或熟悉DOM操作(如来自JavaScript)的开发者。比ET耗内存。
-
xml.sax (SAX):
- 特点:基于事件的API。解析器读取文件并触发事件(如“遇到开始标签”、“遇到文本”),由用户提供的处理器函数来处理。流式读取。
- 适用场景:处理非常大的XML文件(几个GB),内存友好,但编程模型复杂,只能顺序访问。
第二部分:使用xml.etree.ElementTree处理XML
ElementTree将整个XML文档解析为两种主要对象:
- Element:代表一个XML元素(节点)。
- ElementTree:代表整个XML文档树。

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



