Разобрать xml файл с одним и тем же тегом несколько раз iphone sdk - PullRequest
0 голосов
/ 09 июня 2010

В моем приложении у меня есть тег несколько раз. Я использую парсер xml. Я беру соответствующий элемент с таким же именем, как и в файле XML в моем классе. Так в случае:

 <photo>abc</photo>
 <photo>def</photo>

То, что я получаю в элементе фотографии моего класса, это второй элемент, т.е. def, поскольку первый перезаписывается, поскольку в моем классе только один элемент фотографии. Мой вопрос: я ошибаюсь, принимая аналогичные элементы в классе, как в случае с XML? Есть ли лучший метод или лучший парсер? Или я на правильном пути и должен сделать это вручную, установив некоторые флаги и т. Д.

Спасибо заранее.

Ответы [ 2 ]

0 голосов
/ 09 июня 2010

Я предполагаю, что вы пытаетесь проанализировать содержимое XML, чтобы сопоставить его со свойствами объекта, используя NSXMLParser.

Если допустимо встретить несколько тегов photo в вашем XML, то либо вам нужна стратегиячтобы узнать, какой из них будет сопоставлен со свойством, или преобразовать вашу собственность в NSArray и добавить результаты по мере их поступления.

Если это недопустимый случай, вы можете проверить, устанавливали ли вы свойство ранееи вызвать ошибку, или просто переопределить ее (как вы делаете) и назвать ее «неопределенным поведением».

0 голосов
/ 09 июня 2010

Есть много парсеров, которые могут решить вашу проблему (например, XPathQuery, TouchXML и т. Д.).

Я не думаю, что нужно изобретать велосипед - используйте один из существующих парсеров.

...