2012-06-28 70 views
3

我有这样的XML:如何使用RestKit映射XML textContent?

<rss> 
<channel> 
<item> 
    <title>something</title> 
    <description>...</description> 
    <category>cooking</category> 
    <category>housing</category> 
</item> 

<item> 
    ... 
</item> 
... 
</channel> 
</rss> 

这是一个RSS源,具有通道内项目的数组,包含许多标签/属性(标题,内容,...),与类别的集合标签。

我可以RestKit的通道/项目/标题/内容与这部分解析它:

RKManagedObjectMapping *itemMapping = [RKManagedObjectMapping mappingForClass:[Item class] inManagedObjectStore:objectStore]; 
[itemMapping mapKeyPath:@"title" toAttribute:@"title"]; 
[itemMapping mapKeyPath:@"description" toAttribute:@"content"]; 

RKManagedObjectMapping *channelMapping = [RKManagedObjectMapping mappingForClass:[Channel class] inManagedObjectStore:objectStore]; 
[channelMapping mapKeyPath:@"item" toRelationship:@"items" withMapping:itemMapping]; 

[manager.mappingProvider setMapping:channelMapping forKeyPath:@"rss.channel"]; 

但我在失去了测绘类...我已经试过类似的东西:

RKManagedObjectMapping *categoryMapping = [RKManagedObjectMapping mappingForClass:[Category class] inManagedObjectStore:objectStore]; 
[itemMapping mapKeyPath:@"category" toRelationship:@"categories" withMapping:CategoryMapping] 

但不知怎的,标签内的文本内容未映射到Category类中的属性“名称”。当然,我没有在代码中使用这个'名字',因为我不知道该把它放在哪里。

如何使用RestKit解析纯文本XML标记?有没有类似的东西:

[categoryMapping mapKeyPath:@".text" toAttribute:@"name"]; 

(不起作用原样)

+0

This is close [链接](http://stackoverflow.com/q/9196947/1040553) – malaba

回答

6

你可以试试:

[categoryMapping mapKeyPath:@ “” toAttribute:@ “名”];

我不确定它是否能够正常工作。

+0

圣c ***,它的工作!从来没有想过它会这么简单 – malaba

+0

@保罗..你是我今天的英雄.. :) – Shri

+1

ReskKit 0.2的等效值如何? – codeman