SimpleXML способ анализа в приложении Objective C для iPhone

Мне было интересно, есть ли способ проанализировать XML в Objective C так же просто, как разбор с SimpleXML в PHP.

Единственные существующие методы, которые я знаю, следующие:

  1. Использование NSXMLParser и создание делегата для обработки событий, инициируемых при обнаружении элементов XML, значений и т. Д.

  2. Использование основанной на libxml2 инфраструктуры, такой как TouchXML, чтобы использовать XPath для простого запроса узлов в файле XML.

Я не уверен, есть ли какой-либо другой подход к синтаксическому анализу XML в Objective C для iPhone.

Заранее спасибо за помощь!:)

Ура! Oonoo

Обновление: образец SimpleXML

В случае, если вы не знакомы с SimpleXML, это может быть так просто:

$xml = simplexml_load_string($xmlfilecontents); 
echo $xml->user->name; //for this example code, im not traversing through all the user elements

Учитывая, что xmlfilecontents - это содержимое файла xml в строковом типе, содержащее элементы users() с child:

<users> 
<user><name>john</name></user> 
<user><name>jane</name></user> 
</users> 

Он просто загружает xml и автоматически создает экземпляр объекта, который захватывает все данные в xml-файле. Доступ к данным - это простой вызов, такой как $xml->element->attr

1 ответ

Решение

Если вы хотите использовать libxml2 с фронтом Objective-C взгляните на этот полезный набор функций-оболочек.

Вы отправляете запрос XPath к вашему объекту документа XML и возвращаете объекты класса Foundation: NSArray, NSString, а также NSDictionaryНапример:

NSArray *queriedBuckets = PerformXMLXPathQuery(responseData, @"//*[local-name()='Buckets']/*[local-name()='Bucket']");

Эти функции помогают объединить скорость libxml2 с удобочитаемостью и удобством использования кода Objective-C.

Другие вопросы по тегам