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]

しかし、どういうわけか、タグ内のテキスト コンテンツは、Category クラス内のプロパティ 'name' にマップされません。確かに、ここのコードではこの「名前」を使用していません。どこに置くべきかわからないからです。

テキストのみの XML タグを RestKit で解析するにはどうすればよいですか? 次のようなものがありますか:

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

?

(そのままでは動かない)

4

1 に答える 1

6

あなたが試すことができます:

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

それがうまくいくかどうかはわかりません。

于 2012-06-29T06:40:33.117 に答える