PHP 5 引入了新的类 XMLReader,用于读取可扩展标记语言(Extensible Markup Language,XML)。与 SimpleXML 或文档对象模型(Document Object Model,DOM)不同,XMLReader 以流模式进行操作。即它从头到尾读取文档。在文档后面的内容编译完成之前,可以先处理已编译好的文档前面的内容,从而实现非常快速、非常高效、非常节省地 使用内存。需要处理的文档越大,这个特点就越发重要。

在用DOM耗费较长时间解析XML文件以后,你可能注意到在用DOM处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的:这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存。在采用DOM之后性能受到严重影响的情况下,你不妨考虑使用Simple API for XML(SAX)。在这篇文章中,我们就为你介绍SAX API,同时提出若干采用不同语言实现的SAX链接。