如何使用RestKit映射XML textContent?

时间:2012-06-28 16:47:52

标签: ios xml cocoa-touch restkit

我有这样的XML:

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

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

这是一个RSS Feed,在频道内有一系列项目,包含许多标签/属性(标题,内容,......),以及一组类别标签。

我可以使用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类中的属性'name'。我确实没有在这里的代码中使用这个“名称”,因为我不知道把它放在哪里。

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

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

(不能按原样运作)

1 个答案:

答案 0 :(得分:6)

你可以尝试:

  

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

我不确定它是否会起作用。