回覆列表
  • 1 # 使用者3922877703614

    XML 文件定義分為 DTD 和 Schema 兩種形式;其本質區別在於 Schema 本身也是一個 XML 檔案,可以被 XML 解析器解析。對 XML 的解 析主要有 DOM(文件物件模型)、SAX、StAX(JDK 1.6 中引入的新的解析 XML 的方式,Streaming API for XML) 等,其中 DOM 處理大型檔案時 其效能下降的非常厲害,這個問題是由 DOM 的樹結構所造成的,這種結構 佔用的記憶體較多,而且 DOM 必須在解析檔案之前把整個文件裝入記憶體,適 合對 XML 的隨機訪問(典型的用空間換取時間的策略);SAX 是事件驅動 型的 XML 解析方式,它順序讀取 XML 檔案, 不需要一次全部裝載整個文 件。當遇到像檔案開頭,文件結束,或者標籤開頭與標籤結束時,它會觸發 一個事件,使用者透過在其回撥事件中寫入處理程式碼來處理 XML 檔案,適合 對 XML 的順序訪問;如其名稱所暗示的那樣,StAX 把重點放在流上。實際上,StAX 與其他方法的區別就在於應用程式能夠把 XML 作為一個事件流 來處理。將 XML 作為一組事件來處理的想法並不新穎(事實上 SAX 已經 提出來了),但不同之處在於 StAX 允許應用程式程式碼把這些事件逐個拉出來, 而不用提供在解析器方便時從解析器中接收事件的處理程式。

  • 中秋節和大豐收的關聯?
  • 羊毛被有一股味臭味?怎麼辦?