次のような 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 クラス内のプロパティ 'name' にマップされません。確かに、ここのコードではこの「名前」を使用していません。どこに置くべきかわからないからです。
テキストのみの XML タグを RestKit で解析するにはどうすればよいですか? 次のようなものがありますか:
[categoryMapping mapKeyPath:@".text" toAttribute:@"name"];
?
(そのままでは動かない)