Хорошо, что вы хотите сделать, это следующее.
Из того, что я могу почерпнуть из опубликованной ссылки, у вас есть верхний уровень NSDictionary
, который затем содержит XML внутри.Внутри NSDictionary
будет объект, который, по вашему примеру, будет itemDict
, но, на мой взгляд, больше похож на NSArray.
Отсюда я бы сохранил это NSArray
внутри другого.
Каждый объект в этом массиве представляет собой NSDictionary
ключей и объектов, соответствующих им.Очевидно, я говорю об этом бите.
{
postID = {
text = 26;
};
score = {
text = 20;
};
title = {
text = "http://www.google.com quiz";
};
url = {
text = "http://www.google.com";
};
},
Возможно, что-то вроде следующего позволит вам погрузиться достаточно глубоко.
NSArray *itemArray = [xmlDictionary objectForKey:@"itemDict"];
for (NSDictionary *dict in itemArray) {
NSLog(@"Dictionary: %@", dict);
}
Этот код должен показывать вывод каждого NSDictionary внутриNSArray.Отсюда это простой случай делать все, что вы хотите с NSDictionary.
РЕДАКТИРОВАТЬ
Просто еще один взгляд и подумал, что я бы тоже добавил это.Кажется, что каждый NSDictionary, который мы создали бы с помощью приведенного выше кода, затем имеет ключ для другого объекта, и этот объект хранится в другом словаре.Что-то действительно странное с XML, если вы спросите меня ...
Но обходной путь может быть следующим:
NSArray *itemArray = [xmlDictionary objectForKey:@"itemDict"];
for (NSDictionary *dict in itemArray) {
NSLog(@"Dictionary: %@", dict);
for (NSDictionary *dictObject in [dict allKeys]) {
NSLog(@"Dictionary Object: %@", dictObject);
}
}
Если это не то, что вы хотите сделатьПожалуйста, отредактируйте ваш вопрос, чтобы я мог исправить свой ответ.
Надеюсь, это поможет!