Анализировать / читать элементы XML из списка строк в java
У меня есть файл XML какList<String>
означает каждую строку XML как строку в списке. Теперь я ищу разные (и лучшие) способы анализа / чтения этих XML-данных из списка.
Раньше я работал над синтаксическим анализом файлов XML напрямую с помощью DocumentBuilder, напримерdocument builder.parse(new File(abc.xml)
. Это позволяет очень легко получать элементы по именам тегов.
Образец XML в List<String>
:
<MainTag>
<InnerTag>
<userid>abc</userid>
<phone>
<number>123456</number>
</phone>
<phone>
<number>345678</number>
</phone>
</InnerTag>
<InnerTag>
<userid>xyz</userid>
<phone>
<number>0987876</number>
</phone>
</InnerTag>
</MainTag>
Пример вывода:
abc
123456
345678
xyz
0987876
Вопрос: как лучше всего читать элементы, просматриваяList<String>
или используйте любой Parser (XML-парсер) для преобразования List<String>
в Document и NodeList? Если использование Parser - лучший вариант, то какой? (Я использовал Javax.xml.parser).
Примечания: данные будут в большом размере. Размер файла XML может составлять около 100 МБ.. (Ключи - скорость и меньшее использование памяти.)
(Существует также возможность создания POJO, поскольку формат структуры XML не будет сильно меняться и хранить эти значения в виде списка POJO, но я не предпочитаю это, поскольку эти значения предназначены только для однократного чтения.)