XML-анализатор Android для простых строк узлов XML

1

Мне нужно разобрать серию простых XML-узлов (формат String), поскольку они поступают из постоянного соединения сокетов. Лучший пользовательский парсер Android SAX? Это швы слегка переборщит, чтобы сделать это в таким образом

Я наивно надеялся, что смогу передать строки в XML, а затем сопоставить имена/атрибуты с точечным синтаксисом или аналогичным.

  • 0
    таким образом, формат прост, однако много ли данных (сколько времени занимает серия)?
Теги:
sax

4 ответа

3
Лучший ответ

Я бы использовал DOM Parser. Это не так эффективно, как SAX, но если это простой XML файл, который не слишком велик, это самый простой способ встать и двигаться.

Отличный учебник о том, как его использовать здесь: http://tutorials.jenkov.com/java-xml/dom.html

1

Возможно, вы захотите взглянуть на библиотеку XPath. Это более простой способ анализа xml. Он похож на создание SQL-запросов и регулярных выражений.

http://www.ibm.com/developerworks/library/x-javaxpathapi.html

0

Вы можете попробовать использовать Konsume-XML: API SAX/STAX/Pull слишком низкоуровневы и сложны в использовании; DOM требует, чтобы XML поместился в память, и все еще неуклюже использовать. Konsume-XML основан на Pull и поэтому он чрезвычайно эффективен, но API более высокоуровневый и намного проще в использовании.

0

Я бы пошел за SAX Parser:

  • Он намного эффективнее с точки зрения памяти, особенно для больших файлов: вы не разбираете весь документ в объектах, а парсер выполняет один однонаправленный проход по документу и запускает события по мере его прохождения.
  • Это на самом деле удивительно легко реализовать: например, взгляните на Работа с XML на Android от IBM. Он содержит только списки 5 и 6, которые являются фактической реализацией их анализатора SAX, поэтому он не содержит большого количества кода.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню