-(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;
}
Je souhaite enregistrer la réponse du service Web asp.net dans un fichier plist.Quelle est la longueur maximale de NSString? Alternative à NSString - iPhone
Mais parfois, lorsque la réponse peut être dans une taille énorme. Dans une telle situation, la connexion a reçu des données de plus de 50 000 octets. & Lorsque je NSlogs NSString - il imprime (null).
Dans ce cas, je ne peux pas stocker la réponse du service Web au fichier.
Quelle devrait être la solution pour cela? Existe-t-il un autre moyen de NSString? (à cet effet)
Merci d'avance.
Sagar.
Vous pouvez créer un fichier avec octets, mutable ou immuable. Voir http://developer.apple.com/iphone/library/documentation/Cocoa/Reference/Foundation/Classes/NSData_Class/Reference/Reference.html#//apple_ref/doc/uid/20000172-CIAEAHFJ pour une méthode à utiliser. –
Vous pouvez générer l'équivalent en octets "" et rechercher la plage d'octets associée dans l'objet de données modifiable. Vous pouvez ensuite remplacer ces octets par NULL: http://developer.apple.com/mac/library/DOCUMENTATION/Cocoa/Reference/Foundation/Classes/NSMutableData_Class/Reference/NSMutableData.html#//apple_ref/doc/uid/20000173 -BGBBIABA –
Monsieur, Mais, ici, je suis confus. Quel que soit le service Web a répondu, je veux supprimer une partie comme indiqué dans la question. ma question est "est-ce possible avec nsstring?" "les données mutables sont-elles plus préférables?" "comment le remplacer en utilisant des données nsmutable?" –