我有一个像这样的 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]
但不知何故,标签内的文本内容未映射到 Category 类内的我的属性“名称”。当然,我没有在代码中使用这个“名称”,因为我不知道该把它放在哪里。
如何使用 RestKit 解析纯文本 XML 标签?有没有类似的东西:
[categoryMapping mapKeyPath:@".text" toAttribute:@"name"];
?
(不能按原样工作)