選擇 DOM 還是選擇 SAX,這取決于下面幾個因素:
-
應用程序的目的:如果打算對數據作出更改并將它輸出為 XML,那么在大多數情況下,DOM 是適當的選擇。并不是說使用 SAX 就不能更改數據,但是該過程要復雜得多,因為您必須對數據的一份拷貝而不是對數據本身作出更改。
-
數據容量: 對于大型文件,SAX 是更好的選擇。
-
數據將如何使用:如果只有數據中的少量部分會被使用,那么使用 SAX 來將該部分數據提取到應用程序中可能更好。 另一方面,如果您知道自己以后會回頭引用已處理過的大量信息,那么 SAX 也許不是恰當的選擇。
-
對速度的需要: SAX 實現通常要比 DOM 實現更快。
SAX 和 DOM 不是相互排斥的,記住這點很重要。您可以使用 DOM 來創建 SAX 事件流,也可以使用 SAX 來創建 DOM 樹。事實上,用于創建 DOM 樹的大多數解析器實際上都使用 SAX 來完成這個任務!