Какие есть варианты разбора XML на мобильном устройстве Android? - PullRequest
2 голосов
/ 27 октября 2010

У меня есть огромный набор xmls (2000 файлов, каждый из которых имеет 500 строк) для анализа в Android для получения информации из него. Все файлы будут присутствовать в устройстве. У меня было это сделать в iPhone, и я выполнил это путем преобразования всех XML-файлов в файлы PLIST. Обработка PLIST в iOS была быстрее, чем анализ XML в iphone. Аналогично для андроида есть ли доступные варианты? или Каков наилучший способ синтаксического анализа этих XML-файлов в Android, так как я чувствую ту же проблему, что и в iphone (производительность, возникающая при разборе), и здесь?

Ответы [ 2 ]

2 голосов
/ 27 октября 2010

Я не знаю, какой механизм разбора вы использовали на iOS и как они там себя ведут. Все, что я могу вам сказать, это то, что вам следует рассмотреть возможность использования парсера SAX над всеми другими доступными механизмами синтаксического анализа.

Синтаксический анализатор SAX производит относительно небольшой объем памяти по сравнению с синтаксическим анализатором DOM, поскольку он сначала не загружает весь документ в память. Он читает документ построчно и информирует вас о событиях, таких как начальный тег, контент, конечный тег и т. П., Когда они появляются.

Вот справочная страница для одной из SAX реализаций, поставляемых с Android. Существует также реализация Android SAX , и вы сами должны выяснить, какая из них лучше всего подходит для вас.

Удачи.

1 голос
/ 27 октября 2010

Я бы использовал синтаксический анализ XML. Вот класс для него. Некоторая информация о производительности обработки XML

Afaik, в новой версии Android (2.2) реализован улучшенный парсер json. Я думаю, что вы должны попробовать конвертировать ваши xmls в формат json и попробовать оба.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...