XML的全称是eXtensible Markup Language, 意为可扩展的标记语言, 是一种用于标记电子文件使其具有结构性的标记语言。以XML结构存储数据的文件就是XML文件,它被设计用来传输和存储数据。例如有以下内容的xml文件。
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
其内容表示一份便签,来自John,发送给George,标题是Reminder,正文是Don't forget the meeting!。 XML本身并没有定义note、to、from等标签,是生成xml文件时自定义的,但我们仍能理解其含义。XML文档仍然没有做任何事情,它仅仅是包装在XML标签中的纯粹信息。我们编写程序来获取文档结构信息就是解析XML文件。
Python有三种方法解析XML:SAX、DOM、ElementTre。
1. SAX(simple API for XML)
SAX是一种基于事件驱动的API,使用时设计两个部分,即解析器和事件处理器。解析器负责读取XML文件,并向事件处理器发送相应的事件(如元素开始事件、元素结束事件)。事件处理器对相应的事件做出响应,对数据做出处理。使用方法是先创建一个新的XML-Reader对象,然后