Синтаксический анализ XML во время выполнения без XSD с помощью JaxB 2.x
У меня есть xml. У документа, есть 'envelope' . В 'envelope' есть 'header' и 'body'. Внутри 'body' находится 'envelope' с собственным "header" и 'body' и т. д. У меня нет xsd для этого xml. Такой xml может иметь различную структуру.
Мне нужно получить только значения из некоторых тегов.
Я знаю, как выполнять маршалинг и демаршаллинг для Xml c использование xsd. Но в данном случае я не знаю, с чего начать.
Могу ли я получить какой-нибудь node c помощью JAXB, или же мне придется использовать все равно DOM парсер ?
Кому хороша данная тема, поясните, можно ли полностью все сделать с помощью JAXB не имея схемы. Приходят разные типы документов (тип документа спрятан в дереве xml) и в завимости от типа нужно достать определенный набор значений.
Затем вытаскивается изнутри xml, для которого есть xsd и он уже дальше анализируется с помощью JAXB и для него имея схему, я уже генерирую классы.
Но до этого, я должен достать значения из вложенных конвертов и их заголовков.
Каждый документ может весить 30 мб.
Как это можно устроить ?
Какие есть варианты ?
Пожалуйста, укажите ресурсы, где это может быть использовано в качестве примера.
Ответы (1 шт):
Для разбора XML в JDK есть package javax.xml.parsers. Заглянув в него можно обнаружить класс javax.xml.parsers.DocumentBuilder, который предоставляет API для по-элементного разбора XML.