Intereting Posts
Проблема упорядочивания стека событий при запуске приложения из установщика приложений Android и с главного экрана Как удалить текст заголовка из Android ActionBar? Как сериализовать двойное значение с помощью kSOAP в Android Я хочу установить вычисленный приоритет, используя временную метку сервера, предоставленную Firebase Выполнение задачи «Недостаток» для задачи «Проект: processDebugManifest» Есть ли способ отладки приложений через Wi-Fi или Bluetooth? Публиковать библиотеку Android для jcenter: gradle bintrayUpload не находит библиотеки Как открыть папку «Мои файлы» в Android программно (с использованием Intent)? Java.lang.IllegalStateException: указанный ребенок уже имеет родителя. Вы должны сначала вызвать removeView () родителя ребенка Отправлять трансляцию только на конкретную активность Инвертировать цвета выделенного Android Как сделать виджет размера 4×1 на рабочем столе Android? FloatingActionButton с анимированным значком MVEL2 – исключение для Android Локальный валютный символ

Android: лучший парсер для анализа данных XML

Я разрабатываю приложение, в котором в первый раз я буду разбирать данные из XML-файла, поступающего с удаленного сервера.

Но я не могу выбрать, какой парсер эффективен или лучше всего подходит для синтаксического анализа. Поскольку в основном есть три типа разбора, которые я знаю:

  1. SAX
  2. XMLPullParsing
  3. DOM

Какой лучший синтаксический анализатор для анализа данных? Когда я искал в Google и нашел положительную и отрицательную стороны обеих парсеров. Но я не смог определить, какой из них наиболее эффективен.

XML имеет тяжелые данные с несколькими тегами.

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

Во всех парсерах Sax синтаксического анализатора XML самый быстрый из них, поэтому вы можете без всякого сомнения пойти на это. Если вам нужно читать и записывать данные из XML, вы можете пойти на DOM. Используя синтаксический анализатор SAX, вы сможете читать данные только из XML. Поскольку эти два находятся в верхней части списка, вам не нужно думать о XMLPullparser.

SAX Parsing является лучшим для реализации, чем DOM. См. Разницу между этими двумя в следующем:

DOM :

  • Узлы находятся в форме структуры дерева.
  • Память: она занимает больше памяти, DOM используется только в случае небольших XML-документов.
  • Медленнее во время выполнения.
  • Сохраняется как объект.
  • Программно легко реализовать.
  • Простота навигации и использования.

SAX :

  • Цепочка событий.
  • Он не использует память, предпочитаемую для больших документов.
  • Быстрее во время выполнения, из-за вышеупомянутого пункта.
  • Объекты должны быть созданы.
  • Необходимо написать код для создания объектов.
  • В SAX обратная навигация невозможна, поскольку она последовательно обрабатывает документ.

Я бы сказал, что XMLPullParsing, но в последнее время я слышал великие вещи о том, что Xerces может захотеть изучить и этот. Однако никогда не использовал Xerces, и XMLPullParser никогда не подводил меня. Мы создаем приложение для цветного следа, которое использовало его, и оно тянет тысячи цветовых комбинаций, чтобы рассказать вам, какой цвет вы только что сделали.

Update : heres несколько ссылок для чтения, если вы не читаете: p, показывает минусы и перки с обеих сторон

http://www.firstobject.com/xml-reader-sax-vs-xml-pull-parser.htm

Еще один ответ, возможно, на чтение анализатора SAX parser vs XMLPull

Я думаю, что XMLPullParser будет хорошим вариантом, как они упомянули в документации для Android .