如何将xml结果传递给核心数据对象

时间:2011-05-23 00:47:25

标签: iphone xml ios caching core-data

如何将xml格式的单词列表传递给“核心数据”数据库?

从那时起,每次加载应用程序时,如何检查该数据库是否是最新的?

1 个答案:

答案 0 :(得分:2)

您需要将传入的XML解析为字符串。如果你在Mac上使用NSXMLDocument ...尝试这样的事情:

NSString *yourXML = @""; // replace with your xml as nsstring

NSError *error;
    NSXMLDocument *xmlDoc = [[NSXMLDocument alloc] initWithXMLString:yourXML options:0 error:&error];
    if (error) NSLog(@"Error parsing xml: %@", [error description]);

然后你可以使用像这样的XPath查询解析你感兴趣的每个项目:

NSArray *items = [xmlDoc nodesForXPath:@"//yourItem" error:&error];

然后你也可以用xml格式循环每个项目的属性。

然后根据xml中的一个或多个键属性获取项目,并检查它们是否已存在。

我建议您查看此帖子http://objectivesheep.com/archive/core-data-active-record-sheepdata/,以便更轻松地管理核心数据对象。在这种情况下,您只需要:

if ([YourManagedObject checkIfEntityExistsWhereProperty:@"yourKeyProperty" equalsValue:keyValueFromXML]) ....

希望这有帮助。