0

我在一家信用合作社工作(大约 6 万个账户)。声明过程是从 70 年代开始的,它将数据与布局紧密耦合。简而言之,您运行一个作业,它会生成一个包含每个帐户的语句的文本文件。我已经修改了大型机配置,现在不是输出文本,而是像这样得到 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

JAXB 可以分块解析大型 XML 文件

一旦我有一个单独的语句,我想将它的份额(检查、储蓄、签证等)加载到相应的数据库表中。

似乎完成此操作的最简单方法是将语句绑定到 POJO,然后对 POJO 中的每个复杂元素(共享或交易或贷款)进行插入。

你们会推荐什么解析器/绑定器/持久性工具的组合?

就个人而言,我更喜欢原始的 JDBC 插入,因此解析器和绑定器的问题更为重要。

注意:我可能会为 XML 创建一个模式,但由于大型机构建 XML 文件的方式,它可能很脆弱。任何使用 Fiserv 的 Spectrum 软件的人都会感到我的痛苦。

4

1 回答 1

0

看看StAX,它是 XML 的流式 API。

于 2010-12-01T15:10:20.227 回答