我只想问你,有没有人能帮我解析一下从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,但我不知道如何使用它。我所需要的就是得到图片的网址。
提前进行Thx检查。
发布于 2010-01-24 22:28:09
您可以在http://www.memention.com/blog/2009/10/31/The-XML-Runner.html中查看我的小XML解析类
我已经开始使用它们来解析从图像上传到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-03-03 01:06:47
请按照本教程末尾所述使用NSScanner进行试用。它们显示的正是您所需要的,只检索上传图像的mediaurl = URL。
NSScanner *scanner = [NSScanner scannerWithString:responseString]; ...发布于 2011-05-06 20:29:12
GSTwitPicEngine可以同时解析XML和JSON:http://github.com/Gurpartap/GSTwitPicEngine
但是,为什么不使用JSON格式的Twitpic API响应呢?使用yajl、TouchJSON、json-framework或其他Cocoa JSON库很容易解析和处理
https://stackoverflow.com/questions/2127312
复制相似问题