У меня есть метод, который читает файл xml и сохраняет узлы xml по определенному пути XPath в NSArray с именем *nodes. Что я хочу сделать, так это взять каждый из элементов в массиве и добавить его в основной объект данных, называемый категорией, с атрибутом «имя».
Я пробовал несколько разных способов создания сущности, но я не уверен, как правильно это сделать. Это код, используемый для создания NSArray, есть идеи, как это реализовать? (игнорируйте NSError, я исправлю это в финальной версии)
- (IBAction)readCategories:(id)sender
{
NSString *xmlString = [resultView string];
NSData *xmlData = [xmlString dataUsingEncoding: NSASCIIStringEncoding];
NSXMLDocument *xmlDoc = [[NSXMLDocument alloc] initWithData:xmlData options:nil error:nil];
//XPath
NSError *err=nil;
NSArray *nodes = [xmlDoc nodesForXPath:@"//member[name='description']/value/string" error:&err];
}
РЕДАКТИРОВАТЬ - Мой код петли
NSArray *nodes = [xmlDoc nodesForXPath:@"//member[name='description']/value/string" error:&err];
int arrayCount = [nodes count];
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSXMLElement *categoryEl;
NSString *new = [catArrayController newObject];
int i;
for (i = 0; i < arrayCount; i++)
{
[categoryEl = [nodes objectAtIndex:i]];
[new setValue:[categoryEl stringValue] forKey:@"name"];
[catArrayController addObject:new];
}
[pool release];