我使用 RestKit 从资源中加载 XML 数据。这很完美,但现在我想改变我的整个程序来读取本地 XML 文件。我发现可以读取本地 xml 文件并通过 Google RestKit 组中的 RestKit 对其进行解析:
NSString *string = [NSString stringWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"testing" ofType:@"xml"] encoding:NSUTF8StringEncoding error:nil];
id<RKParser> parser = [[RKParserRegistry sharedRegistry] parserForMIMEType:RKMIMETypeXML];
id result = [parser objectFromString:string error:nil];
NSLog(@"%@",[[[[result objectForKey:@"sample"] objectForKey:@"nested"] objectForKey:@"tags" ] description]);
但现在我想用我的映射加载这个对象。我从服务器加载的旧代码:
RKObjectManager *objectManager = [RKObjectManager sharedManager];
RKURL *URL = [RKURL URLWithBaseURL:[objectManager baseURL] resourcePath:[xmlFile path] queryParameters:nil];
[objectManager.mappingProvider setMapping:myMapping forKeyPath:myKeyPath];
[objectManager loadObjectsAtResourcePath:[NSString stringWithFormat:@"%@", [URL resourcePath]] usingBlock:^(RKObjectLoader *loader) {
loader.delegate = self;
}];
之后,我在 RestKit 的 didLoadObjects 委托中获得了我的映射对象。我怎样才能为我的本地 xml 对象做同样的事情?