DOM4J是四個(gè)中性能最好的烹棉,連Sun的JAXM用的都是DOM4J攒霹。很多開源項(xiàng)目中也大量采用DOM4J,例如大名鼎鼎的Hibernate也用DOM4J來(lái)讀取XML配置文件浆洗。若忽略可移植性催束,可以采用DOM4J.
JDOM和DOM在性能測(cè)試中相對(duì)較弱,在測(cè)試10M文檔的時(shí)候存在內(nèi)存溢出的問(wèn)題伏社,但可移植抠刺。在小文檔情況下還值得考慮使用DOM和JDOM.雖然JDOM的開發(fā)者已經(jīng)說(shuō)明他們期望在正式發(fā)行版前專注性能問(wèn)題,但是從性能觀點(diǎn)來(lái)看摘昌,它確實(shí)沒(méi)有值得推薦之處速妖。另外,DOM仍是一個(gè)非常好的選擇聪黎。DOM實(shí)現(xiàn)廣泛應(yīng)用于多種編程語(yǔ)言买优。它還是許多其它與XML相關(guān)的標(biāo)準(zhǔn)的基礎(chǔ),因?yàn)樗将@得W3C推薦(與基于非標(biāo)準(zhǔn)的Java模型相對(duì))挺举,所以在某些類型的項(xiàng)目中可能也需要它(如在JavaScript中使用DOM)杀赢。
SAX表現(xiàn)較好,這要依賴于它特定的解析方式-事件驅(qū)動(dòng)湘纵。一個(gè)SAX檢測(cè)即將到來(lái)的XML流脂崔,但并沒(méi)有載入到內(nèi)存(當(dāng)然當(dāng)XML流被讀入時(shí),會(huì)有部分文檔暫時(shí)隱藏在內(nèi)存中)梧喷。
如果XML文檔較大且不考慮移植性問(wèn)題建議采用DOM4J砌左;如果XML文檔較小則建議采用JDOM脖咐;如果需要及時(shí)處理而不需要保存數(shù)據(jù)則考慮SAX。但無(wú)論如何汇歹,還是那句話:適合自己的才是最好的屁擅,如果時(shí)間允許,建議大家將這四種方法都嘗試一遍然后選擇一種適合自己的即可产弹。