Java開源XML操作類庫對比

http://www.open-open.com/31.htm

不錯的一個開源網站

Xerces
Xerces是由Apache組織所推動的一項XML文檔解析開源項目,它目前有多種語言版本包括JAVA、C++、PERL、COM等。

JDOM
JDOM是一種面向Java的讀、寫和操作XML文檔的API。JDOM 與現行的SAX 和DOM標準兼容,爲Java 程序員提供了一個簡單、輕量的XML文檔操作方法。由於JDOM是專門爲Java 程序員開發的,所以採用許多Java語言的優秀特性,比如方法重載、集合(Collections)和類映射(Reflection)。

dom4j
Dom4j是一個易用的、開源的庫,用於XML,XPath和XSLT。它應用於Java平臺,採用了Java集合框架並完全支持DOM,SAX和JAXP。

XOM
XOM雖然也是一種面向對象的XML API,類似於DOM 的風格,但是它有一些與衆不同的特性比如嚴格保持內存中對象的不變性,從而使XOM實例總是能序列化爲正確的XML。此外,與其他Java XML API相比,XOM 追求更簡單和更正規。

JiBX
JiBX是一個爲Java提供的XML數據綁定框架。它可以和現存的類一起運行,使用一個靈活的映射定義文件來決定如何將數據對象轉換成XML。

KXML
KXML是一個只佔很小存儲空間的XML語法分析程序,對於J2ME應用程序非常適合。它有一個非常獨特的DOM操作方法和被稱爲Pull的語法分析方法。它有以下性能:  
· 支持XML名稱空間   
· 用"鬆散"模式分析HTML或其它SGML格式   
· 佔用很少的存儲空間(21 kbps)   
· 基於Pull的分析   
· 支持XML寫操作   
· 可選的DOM支持   
· 可選的WAP支持

XMLBeans
XMLBeans是一個XML-Java綁定工具,利用它可以很方便地解析XML文檔。Eclipse支持插件:xmlbeansplug(在線更新地址)。

jConfig
因爲properties的侷限性,有時候得使用XML文件來定義應用的配置參數,jConfig 正是這樣一個讀寫XML配置文件的工具。開發者在 Java 程序中只需要使用get/set方法就能讀取修改 XML 文件中的配置參數。jConfig 目前只支持兩層結構,最新版本爲 2.3。

XStream
XStream使用起來非常簡單,不需要預先生成相關的輔助類,不需要映射文件。當然,使用簡單也註定了它只能處理簡單結構的 XML 文件。

XJR
一個XML的Java綁定框架,它的主要特點是不需要映射文件,用XJRDTDCompiler直接通過DTD文件生成Java文件,也可以用 XJRDTDCreator對Java類處理生成DTD文件。當然也有不足,就是還不支持Schema。

Piccolo XML Parser
Piccolo是利用java快速解析XML文檔的開源項目。它實現 SAX 1, SAX 2.0.1, and JAXP 1.1 接口作爲一個(Non-validating)非驗證剖析器。

NanoXML
NanoXML是一個能在CLDC 環境下運行的開放源代碼非確認性(不做驗證工作直接進行解析)的XML 分析器。Nanoxml是一步解析器(非常小6KB的XML解析器),一次就把文檔解析完並以一個樹狀的結構傳回。

XP Parser
XP是一個Java開發的XML1.0解析器.它當前是一個非驗證解析器,然而它可以解析所有外部實休:外部DTD子集,外部參數實體,普通的外部實體.

Commons-Digester
Digester基於規則的XML文檔解析,主要用於XML到Java對象的映射.

NunniMJAX
NunniMJAX是一個Java非驗證XML解析器。它的APIs與功能類似於SAX.這意味着你如果熟悉SAX你將很容易掌握這個解析器。

Crimson
Crimson是一個基於Java的XML解析器.它通過JAXP1.1,SAX2.0,SAX2擴展版本1.0,DOM Level 2 Core Recommendation來支持XML1.0.

JOX
JOX是一組Java類庫,它使得在XML文檔與Java Beans之間進行數據轉換變得容易.你可以把JOX想象成Java對象序列化(Java Object Serialization)的一個種特殊形式,利用XML作爲序列化的格式.

JaxMe
JaxMe是對JAXB(Java/XML綁定規範)的一種開放源代碼實現。它對基本的JAXB 規範作了一些改進之外並且集成了數據庫和Enterprise JavaBeans.

XMLConfigReader
XMLConfigReader是對Java ResourceBundle類的一個開源擴展.利用它可以直接從XML文件中讀取配置數據並把數據存儲在一個HashTable中.

JVoiceXML
JVoiceXML一個開源的VoiceXML解析器.

Woodstox
Woodstox是一個快速開源且符合StAX(STreaming Api for Xml processing)規範的XML處理器(做爲一個處理器意味着它可以處理輸入(相當於解析)與輸出(相當於寫入,序列化))。

xalan
xalan-java是一套xslt處理器,用來將XML文件轉換爲HTML,TEXT和XML等其他類型文件格式。支持XSLT1.0和XPATH 1.0版。開發人員可以通過命令行方式或在JAVA APPLET和SERVLET中使用,並可以作爲自己開發的應用程序的類庫使用。xalan-java實現的是transformation API for XML(TRaX)接口,此接口爲jaxp1.2標準中的一部分。

XmlIO
XmlIO是一個利用SAX來解析XML然後創建Java對象並同時調用這些對象setter方法的框架.這個框架還能夠把一張包含有單個根節點的Java對象圖序列化成XML格式的字符串。

VTD-XML
VTD-XML是一種新的XML處理API,它能夠克服DOM和SAX的一些問題。VTD-XML能夠在內存中對XML進行快速檢查並提供XPath查詢支持。 在它的主頁上有詳細的API描述,源代碼,文檔和例子。

Nux
Nux是一個開源的Java工具,它能夠讓XML高效處理變得容易。Nux可嵌入到具有高吞吐量的XML消息中間件中比如:大型p2p底層結構,消息隊列,發佈-訂閱和Blogs/新聞聚合的matchmaking系統,分佈式系統,防火牆等.Nux集成並擴展XOM,Saxon和Lucene這些優秀的開源組件包以提供XQuery/XPath,全文本搜索等功能。

StAX
StAX(Streaming API for XML)是標準的XML處理API,它能夠從應用程序的stream對象解析XML數據或把XML數據轉換成stream對象。StAX是一個用Java實現的XML拉式解析器。

Skaringa
Skaringa提供一個類庫實現Java object與XML文檔的相互轉換,並能夠爲Java class生成XML schema定義。

X2JB
X2JB是一個Java開發類包用於把XML映射成Java實體。實際上它與JAXB、XML Beans、Jakarta Commons Digester 等相似但沒有它們複雜。X2JB使用註釋(annotation)來映射XML元素和元素屬性。
發佈了27 篇原創文章 · 獲贊 0 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章