- Dom Parser - 將整個xml文件讀入內存,並構造一個含有繼承關係的樹狀結構
- SAX Parser - 基於事件方式的解析器,不需要將整個文檔讀入內存。
- JDOM Parser - 以類似於DOM解析器的方式解析文檔,但更容易使用。 (http://www.jdom.org)
- StAX Parser - 以類似於SAX解析器的方式解析文檔,但是以更有效的方式。
- XPath Parser - 基於表達式解析XML,並與XSLT結合廣泛使用。
- DOM4J Parser - 一個使用 XPath 和 XSLT 和Java 集合框架解析XML文件的庫,並提供對DOM, SAX 和 JAXP 的支持。 (http://dom4j.sourceforge.net)
- Digester - xml和Java對象之間進行的轉換器。
- JAXB - xml和Java對象之間進行的轉換器。
- XStream - xml和Java對象之間進行轉換的轉換器。
而當中最常拿來比較討論到的是:DOM v.s. SAX
- 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文檔以文檔對象的方式讀取到內存中,因此適用於小文檔。 - 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