-(void)connectionDidFinishLoading:(NSURLConnection *)connection {
NSString *theXML = [[NSString alloc] initWithBytes: [myWebData mutableBytes] length:[myWebData length] encoding:NSUTF8StringEncoding];
NSLog(@"%@",theXML);
[self actualString:theXML
extractMyData:@"<?xml version=\"1.0\" encoding=\"utf-8\"?><soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"><soap:Body><GetCategoryResponse xmlns=\"http://tempuri.org/\"><GetCategoryResult>"
endingString:@"</GetCategoryResult></GetCategoryResponse></soap:Body></soap:Envelope>"
emptyString:@"<Prop_Category />"];
[theXML writeToFile:[self GetMyFilePath] atomically:YES encoding:NSStringEncodingConversionAllowLossy error:nil];
[theXML release];
}
-(NSArray*)actualString:(NSString*)theXML extractMyData:(NSString*)prefixString endingString:(NSString*)suffixString emptyString:(NSString*)noDataFromXMLString{
// now here I want to extract data from string
// from theXML
}
-(NSString*)GetMyFilePath{
NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *documentDirectory=[paths objectAtIndex:0];
NSString *pathToUserCopyofplist=[documentDirectory stringByAppendingPathComponent:@"myWebServiceData.plist"];
NSLog(@"%@",pathToUserCopyofplist);
return pathToUserCopyofplist;
}
Я хочу сохранить ответ веб-службы asp.net в файле plist.
Но иногда, когда ответ может быть в огромном размере. В такой ситуации соединение получило данных более 50 000 байт. И когда я NSlogs NSString - он печатает (null).
В этом случае я не могу сохранить ответ веб-службы на файл.
Какое должно быть решение для этого? Есть ли альтернативный способ NSString? (для этой цели)