iAr*_*zki 4 xml iphone objective-c ios afnetworking
现在我想使用AFNetworking库来获取XML内容,所以我使用这段代码
AFXMLRequestOperation *operation = [AFXMLRequestOperation XMLParserRequestOperationWithRequest:request
success:^(NSURLRequest *request, NSHTTPURLResponse *response, NSXMLParser *XMLParser)
{
XMLParser.delegate = self;
[XMLParser parse];
}
failure:nil];
[operation start];
Run Code Online (Sandbox Code Playgroud)
我的问题是知道是否有任何方法来获取xml响应的内容(我想用NSLog打印xml内容)
提前致谢
请求中的原始数据始终在responseData操作类的属性中可用.以下是您将如何展示它NSLog:
__block AFXMLRequestOperation *operation = [AFXMLRequestOperation XMLParserRequestOperationWithRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://legalindexes.indoff.com/sitemap.xml"]] success:^(NSURLRequest *request, NSHTTPURLResponse *response, NSXMLParser *XMLParser) {
NSLog(@"Parser: %@", XMLParser);
NSLog(@"Raw XML Data: %@", [[NSString alloc] initWithData:operation.responseData encoding:NSUTF8StringEncoding]);
} failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, NSXMLParser *XMLParser) {
NSLog(@"Failure!");
}];
[operation start];
Run Code Online (Sandbox Code Playgroud)
也就是说,标准AFXMLRequestOperation类使用的NSXMLParser是痛苦的使用.如果您的有效负载不是太大而且性能不是问题,我建议您使用Mattt的新AFKissXMLRequestOperation类,它将为您进行解析并公开更友好的NSXMLDocument兼容对象:
__block AFKissXMLRequestOperation *operation = [AFKissXMLRequestOperation XMLDocumentRequestOperationWithRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://legalindexes.indoff.com/sitemap.xml"]] success:^(NSURLRequest *request, NSHTTPURLResponse *response, DDXMLDocument *XMLDocument) {
NSLog(@"XMLDocument: %@", XMLDocument);
NSLog(@"Raw XML Data: %@", [[NSString alloc] initWithData:operation.responseData encoding:NSUTF8StringEncoding]);
} failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, DDXMLDocument *XMLDocument) {
NSLog(@"Failure!");
}];
[operation start];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8132 次 |
| 最近记录: |