Java Android - XmlPullParser - как мне снова начать анализ с самого начала?

Я гуглил это и не нашел ответа - возможно, я не искал это правильно.

У меня вопрос, я анализирую XML от начала до конца документа - в одну сторону. Что если где-то посередине мне нужно настроить анализатор для повторного перехода к началу документа?

Я знаю только myXmlPullParser.next(); (или любой другой далее), чтобы двигаться вперед, но мне нужно при некоторых условиях снова начать анализ с начала документа. Является ли это возможным?

2 ответа

Решение

Является ли это возможным?

Конечно. Создайте новый экземпляр pull-анализатора, используя тот же код, который вы использовали для создания первого. Или попробуйте позвонить setInput() на вашем существующем экземпляре, предоставляя ему свежую копию данных.

Если это чтение из файла (или сети), я думаю, что кэширование данных во входном потоке и чтение их обратно в анализатор может быть самым быстрым путем. Я приведу пример

Другие вопросы по тегам