1. 程式人生 > >xml兩種解析原理對比

xml兩種解析原理對比

DOM解析

xml解析器一次性將整個xml文件載入進記憶體,然後在記憶體中構建一棵Document物件樹,通過Document物件,得到樹上的結點物件,再通過結點物件訪問xml內容。

Node       所有結點的父類
Element    標籤結點
Attribute  屬性結點
Text       文字結點

主要工具:

JAXP     官方工具,使用範圍很小
JDOM     非官方工具
Dom4J    使用範圍廣泛

SAX解析

SAX解析的特點是載入一點,讀取一點,處理一點,對記憶體的要求比較低。JDK中內建了SAX解析工具。

比較

  1. DOM解析一次性載入xml文件,不適合大容量文件讀取,而SAX一次讀取一點,適合讀取大檔案
  2. DOM解析可以任意讀取任意位置的資料,SAX解析只能從上往下一次讀取
  3. DOM解析是面向物件的程式設計方法,SAX解析是基於時間的程式設計方法