2012-03-28 109 views
0

我開始設計一個主要從一種格式到另一種格式進行XML轉換的應用程序。用戶提供輸入XML並告訴應用程序它是什麼類型,他/她想要的輸出XML類型是什麼,然後應用程序將輸入xml轉換爲輸出xml。 我想問一下是否有一個好的框架(最好是基於Java的)。我正在考慮使用自定義操作的XSLT,但如果有人可以建議一個已經提供所有腳手架的現有框架,那麼我將節省時間。 我正在探索Smooks。有人提到的XSLT的一個問題是,它可能無法處理大於50mb的大文件,而無需將其全部加載到內存中。真的嗎? 此外,輸入格式有時可能不是XML ..可以是文本文件,因此我應該可以添加其他變形。當然我知道框架就是這樣 - 一個框架我將提供實際的轉換代碼。但是很想聽到專家在那裏:) 謝謝 -v-XML轉換框架建議?

回答

0

如果您正在將XML轉換爲XML,那麼XSLT就是要走的路。您可以轉換的文檔大小實際上僅受cpu和內存(如其他所有內容)的限制。對於轉換XML而言,您找不到比XSLT更優雅的解決方案。就腳手架代碼而言,我會建議使轉換對象變成模塊化的(通過像Spring這樣的依賴注入框架),這樣如果輸入格式發生變化,您也可以很容易地更改轉換邏輯。

+0

感謝您的答覆。我同意XSLT是理想的,但請記住我也可能有非xml(文本)文件作爲輸入。另外,如果輸入文件的大小是20GB,而我的服務器內存是16GB,那麼XSLT會優雅地處理這個問題,因爲我認爲它將基於一個DOM解析器加載內存中的所有內容。 – Vishal 2012-03-31 02:56:58

0

我已經瞄準了下框架,以滿足我的要求, Apache的駱駝 的Smooks XSLT(駱駝端點) XMLDB Oracle中