Очень простой в использовании NSXMLParser
- это анализатор, управляемый событиями, что означает, что когда анализатор просматривает данные XML, он создает событие для каждого элемента, который находит анализатор. Эти события отправляются в виде сообщений делегату NSXMLParser
. Этот делегат - это класс, который вы должны написать, который соответствует протоколу NSXMLParserDelegate
.
Чтобы привести пример для этих данных XML, парсер отправит делегату сообщение parser:didStartElement:namespaceURI:qualifiedName:attributes:
при обнаружении <assessmentName>
, затем сообщение parser:foundCharacters:
при обнаружении Test1
, затем parser:didEndElement:namespaceURI:qualifiedName:
при обнаружении </assessmentName>
. Ваш объект делегата должен поддерживать информацию о состоянии. В сообщении didStartElement
должно быть указано, что следующие символы должны быть сохранены в assessmentName
объекте AssessmentDetail
объекта.
Вашему делегату не нужно реализовывать все методы протокола NSXMLParserDelegate
. Вы могли бы сойти с рук только этими тремя методами. Элемент didStartElement
должен знать о десяти элементах, соответствующих двум вашим объектам данных и их иварам, и соответствующим образом изменять состояние, чтобы ваш метод parser:foundCharacters:
поместил данные в правильный объект.