SimpleXML способ анализа в приложении Objective C для iPhone
Мне было интересно, есть ли способ проанализировать XML в Objective C так же просто, как разбор с SimpleXML в PHP.
Единственные существующие методы, которые я знаю, следующие:
Использование NSXMLParser и создание делегата для обработки событий, инициируемых при обнаружении элементов XML, значений и т. Д.
Использование основанной на 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.