Java Android - XmlPullParser - как мне снова начать анализ с самого начала?
Я гуглил это и не нашел ответа - возможно, я не искал это правильно.
У меня вопрос, я анализирую XML от начала до конца документа - в одну сторону. Что если где-то посередине мне нужно настроить анализатор для повторного перехода к началу документа?
Я знаю только myXmlPullParser.next(); (или любой другой далее), чтобы двигаться вперед, но мне нужно при некоторых условиях снова начать анализ с начала документа. Является ли это возможным?
2 ответа
Является ли это возможным?
Конечно. Создайте новый экземпляр pull-анализатора, используя тот же код, который вы использовали для создания первого. Или попробуйте позвонить setInput()
на вашем существующем экземпляре, предоставляя ему свежую копию данных.
Если это чтение из файла (или сети), я думаю, что кэширование данных во входном потоке и чтение их обратно в анализатор может быть самым быстрым путем. Я приведу пример