У меня есть структура XML, которая выглядит следующим образом:
<root>
<index>
<item>item 1</item>
<item>item 2</item>
<!-- many more items -->
<index>
<data>
<row>
<!-- relates to item 1 -->
<cell>1</cell>
<cell>2</cell>
<!-- many more cells -->
</row>
<row>
<!-- relates to item 2 -->
<cell>3</cell>
<cell>4</cell>
<!-- many more cells -->
</row>
<!-- as many rows as there are items in the index -->
</data>
</root>
Я пытаюсь создать синтаксический анализатор, который выводит (в базу данных) такую структуру:
item 1 : [1, 2, ...]
item 2 : [3, 4, ...]
...
Обычно я использую синтаксический анализатор, создаю HashMap, заполняю ключи, когда синтаксический анализатор проходит элемент index, а затем добавляет данные ячейки.
Однако документ может содержать много данных, поэтому яБоюсь, у меня возникнут проблемы с памятью.
У меня такой вопрос: как мне проанализировать файл с минимальным использованием памяти, насколько это возможно?
Одна вещь, о которой я подумал, - это создать два SAXпарсеры, один работает над индексом, а другой анализирует данные.Проблема в том, что я понятия не имею, как я могу приостановить один парсер, запустить другой, приостановить другой, перезапустить первый и т. Д.
Возможно ли это или есть более эффективные способы борьбы с этим?
Кстати: к сожалению, я абсолютно не контролирую формат XML.