1

Twitpic API から返されたデータの解析を手伝ってくれる人はいますか?

Cocoa 用の ASIHTTPRequest ラッパーを使用して HTTPFormRequest を作成しています。これはすべて iPhone アプリケーションで行われます。

    NSURL *url = [NSURL URLWithString:@"http://twitpic.com/api/upload"];
NSString *username = t_user;
NSString *password = t_pass;
NSData *twitpicImage = UIImagePNGRepresentation(imageView.image);

// Now, set up the post data:
ASIFormDataRequest *request = [[[ASIFormDataRequest alloc] initWithURL:url] autorelease];

[request setPostValue:twitpicImage forKey:@"media"];
[request setPostValue:username forKey:@"username"];
[request setPostValue:password forKey:@"password"];
[request setData:twitpicImage forKey:@"media"];

// Initiate the WebService request
[request start];
if ([request error]) {

    NSLog(@"%@", [request error]);

} else if ([request responseString]) {

    NSLog(@"%@", [request responseString]);

}}

[request responseString] にあるデータを解析する方法がわかりません。NSXMLParser を使用する必要があることはわかっていますが、使用方法がわかりません。必要なのは、画像の URL を取得することだけです。

事前にt​​hx。

4

3 に答える 3

0

このチュートリアルの最後に書かれているように試してみてください ここをクリックしNSScannerを使用してください。アップロードされた画像のmediaurl = URLのみを取得して、必要なものを正確に表示しています。

NSScanner *scanner = [NSScanner scannerWithString:responseString]; ...
于 2010-03-02T17:06:46.887 に答える
0

GSTwitPicEngine は XML と JSON の両方を解析します: http://github.com/Gurpartap/GSTwitPicEngine

ただし、Twitpic API の応答に JSON 形式を使用しないのはなぜですか? yajl、TouchJSON、json-framework、またはその他の Cocoa JSON ライブラリを使用すると、簡単に解析して処理できます。

于 2011-05-06T12:29:11.920 に答える
0

ここで私の小さな XML 解析クラスを自由に見てください http://www.memention.com/blog/2009/10/31/The-XML-Runner.html

yfrog.com への画像アップロードからの応答を解析するためにそれらを使い始めました。

基本的に私はこれが好きです...

で、NameValueParser.mエントリータグをrspこんな感じに変更しました

entryName = [[NSString stringWithString:@"rsp"] retain];

次に、応答が受信された場所で、次のように解析します

NameValueParser *parser = [NameValueParser parser];
[parser addFieldName:@"statusid"];
[parser addFieldName:@"userid"];
[parser addFieldName:@"mediaid"];
[parser addFieldName:@"mediaurl"];
[parser addFieldName:@"err"];
[parser parseData:responseData]; // the response received by ASIHTTPRequest

NSArray *rspArray = [parser list];

NSLog(@"%@", rspArray); // Have a look at it here
于 2010-01-24T14:28:09.253 に答える