Как проанализировать содержимое xml длиной более 8096

#android #handler #xmlreader #saxparser

#Android #обработчик #xmlreader #saxparser

Вопрос:

Я пытаюсь проанализировать XML-файл. Это координаты gps.
Итак, есть строка с координатами широты, а с помощью longtitude
вы можете представить размер строки (например, более 29 тыс. символов)
Когда я пытаюсь его проанализировать, у меня возникает проблема, что он анализирует только 8096. Я ввел точку останова characters(char[] ch, int start, int length) и длину только 8096.
Я попытался установить больший буфер для xmlreader, возможно, проблема с источником ввода. Или saxparser может обрабатывать только такую длину?

Ответ №1:

Попробуйте создать свой собственный класс, который реализует XmlPullParser . Затем вы можете просто переопределить методы, которые считываются из программы чтения. Вы можете найти кое-что XmlPullParser здесь

Комментарии:

1. Могу ли я сделать это с помощью saxparser?

Ответ №2:

Реализация saxparser заключается в том, что он вызывает characters() много раз, если строка превышает ~ 8 тыс. символов. разбор каждой части. Поэтому вам нужно просто использовать не string для хранения данных, а StringBuffer или что-то в этом роде.