1. 概述
XML(Extensible Markup Language)中文译为可扩展标记语言,它是一种简单、灵活、易扩展的文本格式,它主要关注数据内容,常用来传送、存储数据。
当通过 XML 来传送数据时,自然会涉及到 XML 的解析工作,通常 Python 可以通过如下三种方式来解析 XML:
- DOM:DOM 方式会将整个 XML 读入内存,在内存中解析成一个树,通过对树的操作来操作 XML,该方式占用内存较大,解析速度较慢。
- SAX:SAX 方式逐行扫描 XML 文档,边扫描边解析,占用内存较小,速度较快,缺点是不能像 DOM 方式那样长期留驻在内存,数据不是长久的,事件过后,若没保存数据,数据会丢失。
- ElementTree:ElementTree 方式几乎兼具了 DOM 方式与 SAX 方式的优点,占用内存较小、速度较快、使用也较为简单。
2. 写入
首先,我们通过 Python 创建一个 XML 文档并向其中写入一些数据,实现代码如下所示:
from
看一下效果:
3. 解析
我们分别使用 DOM、SAX、ElementTree 方式解析上面生成的 XML 文件。
3.1 DOM 方式
看一下如何通过 DOM 方式进行解析,实现代码如下所示:
from
执行结果:
name
3.2 SAX 方式
看一下如何通过 SAX 方式进行解析,实现代码如下所示:
import
执行结果:
name
3.3 ElementTree 方式
看一下如何通过 ElementTree 方式进行解析,实现代码如下所示:
import
执行结果:
name