Анализ структуры XML с неизвестным количеством рекурсий с использованием SAX

Мне нужно проанализировать структуру 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-структуры без использования пространств имен?

6
задан Nathan Hughes 5 August 2011 в 15:16
поделиться