3

我有一个这样的 XML:

<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]

但不知何故,标签内的文本内容没有映射​​到类别类中的我的属性“名称”。当然,我在这里的代码中没有使用这个“名称”,因为我不知道该放在哪里。

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

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

?

(不能按原样工作)

4

1 回答 1

6

你可以试试:

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

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

于 2012-06-29T06:40:33.117 回答