Разработка iPhone - XMLParser противlibxml2 противСенсорный XML
-
03-07-2019 - |
Вопрос
Я не могу найти сравнение этих методов синтаксического анализа.Какой из них чаще всего используется?
С уважением.Мустафа
Решение
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-данные с помощью каждой из вышеперечисленных библиотек...