我想要做的。我讀發現 Simple way to do Xml in JavaXOM V/S的javax.xml.parsers
也有幾個解析器可只是想確認什麼是使用XOM解析器上的優勢,簡單的XML文件太陽解析器
有什麼建議嗎?
我想要做的。我讀發現 Simple way to do Xml in JavaXOM V/S的javax.xml.parsers
也有幾個解析器可只是想確認什麼是使用XOM解析器上的優勢,簡單的XML文件太陽解析器
有什麼建議嗎?
XOM是非常快與標準W3C DOM相比較快。如果這是你的首要任務,那沒有比這更好的了。
但是,它仍然是一個DOM類型的API,所以它不是內存高效的。它不是SAX或STAX的替代品。
您如何訪問您的數據?
如果是單程,則不需要在內存中構建樹。您可以使用SAX(快速,簡單)或StAX(更快,並不那麼簡單)。
如果您需要保留內存中的樹來導航,XOM或JDOM是不錯的選擇。 DOM是最後選擇度假村,無論是第1,2或3級,有無擴展名。
Xerces是Java附帶的解析器(儘管您應該從Apache獲得更新的版本,而不是使用與Java捆綁在一起的版本,即使在6.0中也是如此),也有一個名爲XNI的流本地接口。
如果您想要將其他預製零件掛鉤在鏈中,通常SAX或StAX可以很好地工作,因爲它們可能會在內存中構建自己的模型。例如,Saxon XSLT/XQuery引擎可以與DOM,SAX或StAX一起使用,但在內部構建一個TinyTree(默認)或DOM(可選)。 DataDirect XQuery也適用於SAX,StAX或DOM,但真的喜歡StAX。
你可能想要檢查這個question about the best XML library及其頂部(XOM)的答案;很多關於XOM優點的細節。 (如果有什麼不清楚的地方,請發表評論; PeterŠtibraný似乎內部和外部都知道XOM。)
如上所述,與標準javax.xml相比,XOM在大多數任務中非常快速和簡單。有關示例,請參閱this post,其中提供了有關在Java中讀取XML文件的最簡單方法的問題。我收集了一些很好的例子,讓XOM看起來很不錯(而且javax.xml相當笨拙)。 :-)
因此,我個人認爲XOM在評估之後(如你可以在鏈接的帖子中看到的那樣);對於任何新的Java項目,我很可能選擇XOM進行XML處理。我發現的唯一缺點是它doesn't directly support streaming XML(不像dom4j我來自哪裏),但a simple workaround它可以流就好。
我看到你的問題http://stackoverflow.com/questions/967288/how-to-stream-xml-data-using-xom有一個公認的答案。流式傳輸仍然是XOM的一個缺點嗎? – Sundeep 2013-07-11 18:22:04
奇怪的是,你說SAX比StAX簡單。 SAX可能是一個更簡單的API,但是編寫基於StAX的代碼比寫SAX要容易得多。 – skaffman 2009-06-16 13:50:00