2012-10-24 132 views
0

我使用它两天...我想要获取远程xml,然后将其解析/映射到核心数据。我读过一堆教程,所以在这一刻我可以连接本地服务器(yyuupii!),获得XML,但我有映射问题。我得到RestKit将XML映射到核心数据

- [RKObjectLoader canParseMIMEType:]无法找到MIME类型 '应用程序/ XML'

解析器 - [RKObjectLoader isResponseMappable]与状态代码中遇到意外的响应:200(MIME类型:应用程序/ XML - > URL: http:///list.xml - http:/// - http:/// - http:///)2012-10-24 14:13:12.201 Sierpien [4650 :907]错误 Domain = org.restkit.RestKit.ErrorDomain Code = 4“操作无法完成 (org.restkit.RestKit.ErrorDomain error 4.)”

你能否给我一些建议,我会很感激。

我的XML

<packs> 
    <pack> 
     <cover>cover.png</cover> 
     <info>Jakis.adres.pl</info> 
     <link>Opis</link> 
     <name>wrzesień</name> 
     <price>5.00</price> 
    </pack> 
    <pack> 
     <cover>cover2.png</cover> 
     <info>Jakis1.adres.pl</info> 
     <link>Opis31</link> 
     <name>wrzesień12</name> 
     <price>15.00</price> 
    </pack> 
</packs> 

我的实体

@interface Pack : NSManagedObject 

@property (nonatomic, retain) NSString * name; 
@property (nonatomic, retain) NSString * link; 
@property (nonatomic, retain) NSString * price; 
@property (nonatomic, retain) NSString * info; 
@property (nonatomic, retain) NSString * cover; 

@end 

我实现

- (id)initClient 
{ 
    self = [super init]; 
    if (self) { 
     RKObjectManager *client = [RKObjectManager objectManagerWithBaseURL:[RKURL URLWithString:@"http://10.1.1.5:8888/"]]; 
     NSLog(@"I am your RKObjectManager singleton : %@", [RKObjectManager sharedManager]); 
     client.serializationMIMEType = RKMIMETypeXML; 

     RKObjectMapping* listMapping = [RKObjectMapping mappingForClass:[Pack class]]; 
     [listMapping mapKeyPath:@"cover" toAttribute:@"cover"]; 
     [listMapping mapKeyPath:@"name" toAttribute:@"name"]; 
     [listMapping mapKeyPath:@"info" toAttribute:@"info"]; 
     [listMapping mapKeyPath:@"link" toAttribute:@"link"]; 
     [listMapping mapKeyPath:@"price" toAttribute:@"price"]; 

     [[RKObjectManager sharedManager].mappingProvider setMapping:listMapping forKeyPath:@"packs.pack"]; 
    } 
    return self; 
} 

- (void)loadPacks { 
    [[RKObjectManager sharedManager] loadObjectsAtResourcePath:@"/list.xml" delegate:self]; 
} 

回答

0

好吧,我扔掉RKObjectManager,现在我RKClient连接,获得与

XML [[RKClient sharedClient] get:@"/list.xml" delegate:self];

然后我用GDataXML解析Xml,用解析的数据填充包。有用。

相关问题