Мне нужно проанализировать структуру XML в JAVA, используя синтаксический анализатор SAX.
Проблема в том, что структура рекурсивна с неопределенным количеством рекурсий. Это по-прежнему не так уж и важно, главное то, что я не могу воспользоваться преимуществами функциональности пространства имен XML, а теги одинаковы на всех уровнях рекурсии.
Вот пример структуры.
<?xml version="1.0" encoding="UTF-8"?>
<RootTag>
<!-- LOADS OF OTHER TAGS -->
<Tags attribute="value">
<Tag attribute="value">
<SomeOtherTag></SomeOtherTag>
<Tags attribute="value">
<Tag attribute="value">
<SomeOtherTag></SomeOtherTag>
<Tags attribute="value">
<!-- MORE OF THE SAME STRUCTURE -->
</Tags>
</Tag>
</Tags>
</Tag>
</Tags>
<!-- LOADS OF OTHER TAGS -->
</RootTag>
Как видите, есть рекурсия, лучше неопределенное количество рекурсий. Теперь моя проблема в том, как извлечь все данные для каждой рекурсии и сохранить их, например, в HashMap
.
Я мог бы определить ContentHandler
для появления тегов
, и пусть он извлекает содержимое в HashMap
и помещает его обратно в мастер HashMap
, определенный в основном обработчике содержимого, но я не уверен, что это нужно .
Как мне извлечь и сохранить содержимое рекурсивной XML-структуры без использования пространств имен?