2010-01-24 8 views
1

Je voulais juste vous demander si quelqu'un peut m'aider à analyser les données retournées par l'API Twitpic?Analyse des données retournées par l'API Twitpic

Je crée un HTTPFormRequest en utilisant le Wrapper ASIHTTPRequest pour Cocoa. Tout cela se passe dans une application 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]); 

}} 

Maintenant vient la partie difficile, je ne sais pas comment analyser les données qui se trouve dans [demande responseString]. Je sais que je dois utiliser NSXMLParser, mais je ne sais pas comment l'utiliser. Tout ce dont j'ai besoin est d'obtenir l'url de l'image.

Thx à l'avance.

Répondre

0

Ne hésitez pas à jeter un oeil à mon petit XML parse des classes ici http://www.memention.com/blog/2009/10/31/The-XML-Runner.html

J'ai commencé à les utiliser pour analyser la réponse de téléchargement d'images à yfrog.com

En fait, je fais comme ça .. .

en NameValueParser.m j'ai changé l'étiquette d'entrée à rsp comme celui-ci

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

alors où la réponse a été reçue, je Parse comme ça

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 
0

Essayez comme écrit au bas de ce tutoriel click here utilisant NSScanner. Ils montrent exactement ce dont vous avez besoin, en récupérant uniquement le mediaurl = URL de l'image téléchargée.

NSScanner *scanner = [NSScanner scannerWithString:responseString]; ... 
0

GSTwitPicEngine ne XML et JSON analyser à la fois: http://github.com/Gurpartap/GSTwitPicEngine

Bien, pourquoi ne pas utiliser le format JSON pour les réponses de l'API Twitpic? Il est facile d'analyser et de traiter avec l'utilisation de yajl, de TouchJSON, de json-framework ou d'autres bibliothèques Cocoa JSON

Questions connexes