Разработка iPhone - XMLParser противlibxml2 противСенсорный XML

StackOverflow https://stackoverflow.com/questions/406811

Вопрос

Я не могу найти сравнение этих методов синтаксического анализа.Какой из них чаще всего используется?

С уважением.Мустафа

Это было полезно?

Решение

NSXMLParser - это САКСОФОН синтаксический анализатор, означающий, что он просматривает XML-документ и информирует вас (с помощью методов делегирования) о различных событиях (таких как запуск xml-узла, поиск атрибутов и т.д.).Этот тип обработки XML лучше всего подходит для синтаксического анализа огромных документов, а также когда вам нужно извлечь лишь небольшое количество данных из большого файла.

В отличие от САКСОФОНА, это ДОМ модель, в которой все XML-дерево анализируется в памяти (обычно с помощью одного вызова), а затем вы можете свободно изучать XML-документ из представленного API.Как правило, с этим намного проще работать, поскольку вы получаете произвольный доступ ко всему xml-документу.

Итак, первый вопрос, на который следует ответить, - это вопрос о SAX vs DOM.Если вы работаете с большими XML-файлами (скажем, 10 МБ или больше), возможно, вам захочется использовать SAX.Если вы работаете с небольшими XML-файлами или крошечными XML-фрагментами, часто гораздо проще использовать DOM.

Если вы действительно решите выбрать DOM, у вас есть несколько вариантов.

libxml2 - это очень мощный API, написанный на C.Это в основном для использования в стиле DOM, но есть и другие варианты, если вы приобретете опыт работы с этим.Но, поскольку это написано на C, это не часто привлекает тех, кто лучше знаком с Objective-C (объекты и авторелиз), или тех, кто пришел из мира .Net.Таким образом, существует потребность в собственной оболочке Objective-C вокруг libxml, чтобы сделать его более знакомым.TouchXML - одна из таких оболочек.Это хорошо работает, если вам нужен доступ только на чтение к XML.Если вы хотите изменить XML или создать XML-фрагменты / документы с нуля, я бы рекомендовал использовать Поцелуй XML.

Другие советы

Видишь Учебное пособие по XML для iOS:Как выбрать лучший XML-парсер для Вашего проекта iPhone:

Существует множество вариантов, когда дело доходит до синтаксического анализа XML на iPhone.iPhone SDK поставляется с двумя различными библиотеками на выбор, а также доступно несколько популярных сторонних библиотек, таких как TBXML, TouchXML, KissXML, TinyXML и GDataXML.Как разработчику выбрать лучший анализатор XML для своего проекта?

Недавно я ознакомился с различными имеющимися вариантами и в итоге расширил образец XMLPerformance от Apple, чтобы опробовать каждую из вышеупомянутых библиотек, узнать, как они работают, и сравнить их производительность.Я подумал, что стоит поделиться тем, что я узнал на данный момент, с другими, кто, возможно, ищет лучшую библиотеку XML для своего проекта iPhone.

В этом руководстве по XML мы проведем подробное сравнение функций и производительности наиболее популярных библиотек iPhone, объясним, как выбирать между ними, и приведем пример проекта, показывающий, как считывать XML-данные с помощью каждой из вышеперечисленных библиотек...

Существует еще одна хорошая библиотека синтаксического анализа XML на основе блоков - RaptureXML (гитхаб) с помощью ЗаБланц , он предоставляет Objective-C API поверх libxml2, я определенно рекомендую попробовать это.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top