导入
本章导读
了解如何用 lxml 解析与创建 XML
在第一部分中,我们了解了 Python 内置的一些 XML 解析器。在本章中,我们将学习一个有趣的第三方库 lxml,它由 codespeak 开发。lxml 使用了 ElementTree API 等技术。该库支持 XPath 和 XSLT,提供了 SAX 的 API,并包含一个 C 层级的 API,以兼容 C/Pyrex 模块。本章我们将涵盖以下内容:
- 如何使用 lxml 解析 XML
- 重构示例
- 如何使用 lxml.objectify 解析 XML
- 如何使用 lxml.objectify 创建 XML
本章我们将沿用之前 minidom 解析示例中的数据,看看如何用 lxml 来解析这些内容。以下是来自一个用于管理日程安排程序的 XML 示例:
1<?xml version="1.0" ?> 2<zAppointments reminder="15"> 3 <appointment> 4 <begin>1181251680</begin> 5 <uid>040000008200E000</uid> 6 <alarmTime>1181572063</alarmTime> 7 <state></state> 8 <location></location> 9 <duration>1800</duration> 10 <subject>Bring pizza home</subject> 11 </appointment> 12 <appointment> 13 <begin>1234360800</begin> 14 <duration>1800</duration> 15 <subject>Check MS Office website for updates</subject> 16 <location></location> 17 <uid>604f4792-eb89-478b-a14f-dd34d3cc6c21-1234360800</uid> 18 <state>dismissed</state> 19 </appointment> 20</zAppointments>
现在,让我们学习如何使用 lxml 来解析这段 XML!