私は自分のアプリで webService 応答 (XML) を解析していましたが、すべての回答が解析されているわけではないことに気付きました (同じ情報のブロックが少なくとも 3 つ以上あると予想していました)。そのため、メソッド connectionDidFinishLoading を次のように変更することにしました。
-(void) connectionDidFinishLoading:(NSURLConnection *) connection {
NSString *XMLResponse = [[NSString alloc]initWithBytes:[webData mutableBytes] length:[webData length] encoding:NSUTF8StringEncoding];
NSLog(@"xml message: %@, data length: %i", XMLResponse, [webData length]);
if ([XMLResponse hasPrefix:@"[ERR]"]){
[[[UIAlertView alloc]initWithTitle:@"Notification"
message:XMLResponse != nil ? [@"there was an error while trying to load service" stringByAppendingString:XMLResponse]: @"there was an error while trying to load service"
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles:nil]show];
_transacWebServCompleto = @"FALSE";
return;
}
xmlParser = [[NSXMLParser alloc] initWithData:webData];
[xmlParser setDelegate:self];
[xmlParser setShouldResolveExternalEntities:YES];
[xmlParser parse];
}
アプリを実行すると、出力セクションでこれを取得します
xml message: (null), data length: 5516
テーブルは正しく印刷されますが、完全ではなく、XML は null として表示されますが、データ長のためにデータが含まれています。
前もって感謝します