(以下所有的是用Java寫的)解析非常大的XML文檔(多一點)在Java中
我必須建立一個將作爲輸入的XML文檔,潛在的應用程序,很大。該文件是加密的 - 不是XMLsec,但我的客戶的預先存在的加密算法 - 將分三個階段進行處理:
首先,流將根據上述算法進行解密。
其次,擴展類(由第三方對我提供了一個API編寫)將讀取該文件的某些部分。讀取的數量不可預測 - 特別是不能保證位於文件頭部,但可能出現在XML中的任何位置。
最後,另一擴展類(同樣處理)將細分輸入XML爲1..1子文件。這些可能會在某些部分與第二個操作處理的文檔部分重疊,也就是說:我相信我需要倒退我用來處理這個對象的任何機制。
這裏是我的問題:
有沒有辦法做到這一點沒有在同一時間去閱讀整片數據到內存?很明顯,我可以將解密作爲輸入流過濾器來實現,但我不確定是否可以按照我描述的方式解析XML;通過遍歷文檔需要收集第二步的信息,然後通過倒回文檔並再次傳遞以將其分割成作業,理想地釋放文檔中不再使用的所有部分之後他們已經通過了。
這看起來像一個有趣的,潛在有用的方法,但無處 文檔有沒有暗示的方式來控制你所描述的方式 文檔的解析。我相信你可以這樣做,但是 的功能沒有以合理的方式記錄下來。 – 2008-12-10 14:05:22