XML конвейер в Java - PullRequest
       1

XML конвейер в Java

0 голосов
/ 19 января 2012

Я хотел бы выполнить некоторую DOM-стилевую обработку на очень большом xml, чтобы преобразовать некоторые узлы в другие.

Это пример того, что у меня есть

...
<node>
    <stuff>text-and-numbers</stuff>
</node>
...

И это то, что мне нужно вывести

...
<node>
    <info>some text</info>
    <more>some text</more>
    <id>some text</id>
</node>
...

Вся информация внутри выходной части <node>...</node> извлекается программно, обрабатывая <node>text-and-numbers</node> входных данных. Я имею в виду, у меня есть функция getInfo(someText), которая возвращает содержимое вывода <node>.

У меня есть код, чтобы сделать это DOM-способом, но проблема в том, что XML слишком большой, что требует слишком много памяти, поэтому я бы хотел сделать это по-другому.

Надеюсь, кто-нибудь может мне помочь.

1 Ответ

3 голосов
/ 19 января 2012

Я думаю, вам стоит взглянуть на SAX или StAX. Первый означает отсутствие необходимости хранить все дерево DOM в памяти; последний является потоковым парсером.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...