NSURL *url = [NSURL URLWithString:@"http://abcd.com/sample.xml"];
NSData *data = [NSData dataWithContentsOfURL:url]; // Load XML data from web
// construct path within our documents directory
NSString *applicationDocumentsDir =
[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
NSString *storePath = [applicationDocumentsDir stringByAppendingPathComponent:@"sample.xml"];
// write to file atomically (using temp file)
[data writeToFile:storePath atomically:TRUE];
Если вы анализируете XML в NSArray или NSDictionary, лучше просто сохранить массив или словарь, чтобы вам не приходилось анализировать данные в кэше каждый раз, когда вы хотите их прочитать. И NSArray, и NSDictionary имеют методы writeToFile и initWithContentsOfFile