2010-12-01 23 views
0

我爲信用合作社工作(大約60K帳戶)。聲明過程是從70年代開始的,它將數據與佈局緊密結合。簡而言之,您運行一項工作,並生成一個包含每個帳戶的聲明的文本文件。我已經修改了主機的配置,現在不但得不到文字的時候,我得到XML像這樣:將XML分塊並將其加載到關係表中

<statements> 
    <statement account='1'> 
     ...statement info like checking/savings/certificate/visa/loan/heloc shares 
    </statement> 
    <statement account='N'> 
     ...statement info like checking/savings/certificate/visa/loan/heloc shares 
    </statement> 
</statements> 

我寫Java代碼,從關係表(一個或多個)中提取數據,並與iText的即時構建PDF文件。語句中顯示的一些數據是根據XML中的數據計算的。例如,XML包含共享上的所有事務。在聲明中,我們要顯示信用數量和借方數量。一旦加載到數據庫中,我可以使用視圖來即時計算這些值,並將數據提供給我的Java應用程序。

這個XML文件大約是900MB,只有當我們添加更多成員時纔會增長。

我想一次處理xml一個「語句」。 http://mrico.eu/entry/parsing_chunks_of_xml_documents

Can JAXB parse large XML files in chunks

一旦我有一個個人聲明,我想它的股份(支票,存款,簽證等)加載到相應的數據庫表。

似乎最簡單的方法就是將聲明綁定到POJO,然後對POJO中的每個複雜元素(共享或事務或貸款)進行插入。

你們會推薦什麼樣的解析器/活頁夾/持久化工具組合?

個人而言,我喜歡原始的JDBC插入,所以解析器和聯編程序的問題更重要。

注意:我可能可以爲XML創建一個模式,但由於大型機構建XML文件的方式,它可能很脆弱。任何使用Fiserv Spectrum軟件的人都會感到我的痛苦。

回答

0

看看StAX這是一個XML流媒體API。