1

我只是想问你是否有人可以帮助我解析从 Twitpic API 返回的数据?

我正在使用 Cocoa 的 ASIHTTPRequest Wrapper 创建一个 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。

提前谢谢。

4

3 回答 3

0

按照本教程底部的说明尝试使用NSScanner单击此处。他们正在显示您所需要的内容,仅检索mediaurl = 上传图片的 URL。

NSScanner *scanner = [NSScanner scannerWithString:responseString]; ...
于 2010-03-02T17:06:46.887 回答
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 回答
0

GSTwitPicEngine 对 XML 和 JSON 都进行解析:http: //github.com/Gurpartap/GSTwitPicEngine

不过,为什么不对 Twitpic API 响应使用 JSON 格式呢?使用 yajl、TouchJSON、json-framework 或其他 Cocoa JSON 库很容易解析和处理

于 2011-05-06T12:29:11.920 回答