разделение на части XML и загрузка его в реляционные таблицы - PullRequest
0 голосов
/ 01 декабря 2010

Я работаю в кредитном союзе (примерно 60 тыс. Счетов).Процесс утверждения начинается с 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 для извлечения данных из реляционных таблиц и создания PDF-файлов на лету сIText.Некоторые данные, отображаемые в выражении, рассчитываются на основе данных в XML.Например, XML содержит все транзакции на общем ресурсе.В заявлении мы хотим показать количество кредитов и количество дебетов.После загрузки в БД я могу использовать представление для вычисления этих значений на лету и предоставления данных моему java-приложению.

Этот XML-файл занимает ~ 900 МБ и будет увеличиваться только по мере добавления новых членов.

Я хочу обрабатывать xml по одному «заявлению» за раз.http://mrico.eu/entry/parsing_chunks_of_xml_documents

Может ли JAXB анализировать большие XML-файлы по частям )

После того, как у меня есть отдельное заявление, я хочу загрузить его доли (проверка, сбережения, виза,и т. д.) в соответствующие таблицы БД.

Кажется, что самый простой способ сделать это - связать инструкцию с POJO, а затем для каждого сложного элемента (акции, транзакции или ссуды) в POJO выполнить вставку.

Какую комбинацию инструментов парсера / связывателя / персистентности вы, ребята, порекомендуете?

лично я бы предпочел необработанные вставки JDBC, поэтому вопрос парсера и связывателя важнее.

Примечание. Возможно, я мог бы создать схему для XML, но она может быть хрупкой из-за того, как мэйнфрейм создает файл XML.Любой, кто использует программное обеспечение Fiserv Spectrum, чувствует мою боль.

1 Ответ

0 голосов
/ 01 декабря 2010

Взгляните на StAX , который является потоковым API для XML.

...