在php中的Expat Parser vs Dom Parser

时间:2010-10-31 06:39:03

标签: php

我何时应该使用Expat解析器而不是Dom Parser,反之亦然?这些解析器有什么区别?

2 个答案:

答案 0 :(得分:1)

Expat是一个SAX解析器。

这是SAX和DOM解析器之间的比较

SAX:

  1. 不将XML加载到内存

  2. 自上而下遍历

  3. 事件驱动并逐步增加。

  4. DOM:

    1. 将XML加载到内存中。因此占用更多的记忆。

    2. 向任何方向移动。

答案 1 :(得分:0)

xml_parser_函数在文件被使用时为您提供SAX样式的回调流。这取决于你按照文档顺序线性地处理或存储它们。

(XMLReader是另一个带有命令式而非基于事件的接口的串行访问解析器,对于更严格定义的数据格式尤其有用。)

DOMDocument加载器将整个XML内容读入内存,并为您提供一种简单的类似对象的查询文档任何部分的方法。对于随机访问任务,这更容易处理,但对于大型文档来说效率也低得多。