【xml】parser解析器 基本介紹

現今所有的遊覽器皆有內建如果想要讀取或者修改xml,而延伸出解析器,其中較常討論的有以下幾個:

  1. Dom Parser - 將整個xml文件讀入內存,並構造一個含有繼承關係的樹狀結構
  2. SAX Parser - 基於事件方式的解析器,不需要將整個文檔讀入內存。
  3. JDOM Parser - 以類似於DOM解析器的方式解析文檔,但更容易使用。 (http://www.jdom.org)
  4. StAX Parser - 以類似於SAX解析器的方式解析文檔,但是以更有效的方式。
  5. XPath Parser - 基於表達式解析XML,並與XSLT結合廣泛使用。
  6. DOM4J Parser - 一個使用 XPath 和 XSLT 和Java 集合框架解析XML文件的庫,並提供對DOM, SAX 和 JAXP 的支持。 (http://dom4j.sourceforge.net)
  7. Digester - xml和Java對象之間進行的轉換器。
  8. JAXB - xml和Java對象之間進行的轉換器。
  9. XStream - xml和Java對象之間進行轉換的轉換器。

而當中最常拿來比較討論到的是:DOM v.s. SAX


  1. DOM(DOM導覽-EN)W3C極力推薦
    DOM parser parses the entire XML document and loads it into memory; then models it in a “TREE” structure for easy traversal or manipulation.
    Dom解析功能強大,可增刪改查,操作時會將xml文檔以文檔對象的方式讀取到內存中,因此適用於小文檔。
  2. SAX (SAX導覽-EN) OSS()自由軟體
      (Simple API for XML) is an application program interface (API) that allows a programmer to interpret a Web file that uses the Extensible Markup Language (XML)
    Sax解析是從頭到尾逐行逐個元素讀取內容,修改較為不便,較適用於大文檔。



 From: xml解析器介紹 , 四種xml操作方式的比較 , 使用sax解析xml , 详解Java解析XML的四种方法 , XML DOM Tutorial-EN