2010-10-31 44 views
0

我應該什麼時候去Expat解析器而不是Dom解析器,反之亦然?這些解析器有什麼區別?Expat解析器與Dom解析器在PHP

+0

可能重複的[最佳XML解析器for PHP](http://stackoverflow.com/questions/188414/best-xml-parser-for-php) – Gordon 2010-10-31 16:39:23

回答

0

xml_parser_函數爲您提供了一個SAX風格的回調流,因爲該文件已被使用。由您按照文檔順序進行線性處理或妥善處理或存儲它們。

(XMLReader的是當務之急,而不是基於事件的接口,其可特別用於更嚴格定義的數據格式是有用的另一個串行存取解析器。)

DOMDocument裝載機讀取整個XML內容到存儲器並給你一個簡單的類似於對象的方式來查詢文檔的任何部分。對於隨機訪問任務來說,處理起來要容易得多,但對於大型文檔來說效率也低得多。

1

Expat是一個SAX解析器。

這裏的SAX和DOM解析器之間的比較

SAX:

  1. 的XML不加載到內存中

  2. 由上至下穿越

  3. 事件驅動和作品增量。

DOM:

  1. 加載XML到內存中。因此佔據更多的記憶。

  2. 以任何方向遍歷。