如何将xml格式的单词列表传递给“核心数据”数据库?
从那时起,每次加载应用程序时,如何检查该数据库是否是最新的?
答案 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]) ....
希望这有帮助。