2016-04-08 4 views
0

RestKitRealmを使用してアプリを開発しています。 JSONを解析してオブジェクトを領域データベースに保存しても問題ありません。xmlをrestKitで解析する

私の問題は、xmlを解析し、これをデータベースに保存することです。 RKXMLReaderSerializationXMLReaderで試しましたが、それでもまだARCを使用しているのでXMLReaderは古すぎます。このエラーを取得し、これらの2つのフレームワークI#mのなし

NSLocalizedDescription=Expected content type {(
    "application/x-www-form-urlencoded", 
    "application/json" 
)}, got application/rss+xml} 

どのように私はrss+xmlを追加することができますか?

編集: RestKitのMIMEタイプとしてrss+xmlを追加する必要がありますが、どうすればよいですか?

以下のコードは、上のエラーメッセージが表示されたときにNewsFeedを読み込むための呼び出しです。

static func loadNewsFromServer() { 
     RKObjectManager.sharedManager().getObjectsAtPath(serverURL, 
      parameters: nil, 

      success: { (operation: RKObjectRequestOperation!, result: RKMappingResult!) -> Void in 

       //handle sucess 
      }, 

      failure: { (operation: RKObjectRequestOperation!, error: NSError!) -> Void in 
       print(error) 
      } 
     ) 
    } 

ResponseDescriptor:

let newsResponseDescriptor = RKResponseDescriptor(mapping: News.restKitObjectMapping(), method: RKRequestMethod.GET, pathPattern: serveURL, keyPath: nil, statusCodes: RKStatusCodeIndexSetForClass(RKStatusCodeClass.Successful)) 

restKitでXMLを解析するためにあらゆる可能性はありますか?

多くのありがとうございます!あなたがする必要がある

+0

デフォルトの 'NSXMLParser'はどうですか? – Wain

+0

解析する前にエラーが表示されます。私は再度質問を編集しました – kimbl

答えて

0

[RKMIMETypeSerialization registerClass:[RKXMLReaderSerialization class] forMIMEType:@"rss+xml"]; 

RKMIMETypeSerialization.registerClass(RKXMLReaderSerialization.self, forMIMEType: "rss+xml") 

と(私は正確な構文を確認し、iPad上でタイプされていないのに...、OBJ-Cかつ迅速に提供する):

[myObjectManager setAcceptHeaderWithMIMEType:@"rss+xml"]; 

myObjectManager.setAcceptHeaderWithMIMEType("rss+xml") 
+0

私はこのソリューションをallreadyしようとしましたが、 'import RKXMLReaderSerialization'をインポートすると、xcodeから' Objective-CモジュールRKXMLReaderSerialization'をビルドできませんでしたが、これはRKXMLReaderSerializationがXMLリーダー。しかし、XML-Readerは5年前に最後に更新され、まだARCを使っています... – kimbl

+0

'RKMIMETypeSerialization'で使用できる別のXMLシリアライザを見つけて作成する必要があります。 RestKit + XML + swiftはあまりにも多く一緒に使用されているとは思わないでしょう... – Wain

+0

実際に私はJSONをレスポンスとして取得しています:)問題は、Requestパラメータを持つAPIのresponseDescriptorです。私の新しい質問をチェックできますか? http://stackoverflow.com/questions/36721011/restkit-get-request-with-queryparameter-no-matching-responsedescriptor – kimbl