在我的应用程序应用程序中,我必须解析从Internet下载的xml文件。如何下载这个xml并保存在iphone上的文件中?然后我该如何开始解析保存在文档中的XML?
答案 0 :(得分:4)
你的意思是那样的
NSString *URLString = @"http://www.example.com/XML/note.xml";
NSURL *URL = [NSURL URLWithString:
[URLString stringByAddingPercentEscapesUsingEncoding:
NSASCIIStringEncoding]];
NSData *dataXML = [NSData dataWithContentsOfURL:URL];
NSString *applicationDocumentsDir =
[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
NSString *storePath = [applicationDocumentsDir stringByAppendingPathComponent:@"sample.xml"];
[dataXML writeToFile:storePath atomically:TRUE];
NSData *contenuto = [NSData dataWithContentsOfFile:storePath];
NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithData:contenuto]
答案 1 :(得分:3)
第一次加载时,将内容下载到NSData
对象。使用
– writeToFile:atomically:
– writeToFile:options:error:
这里的NSData类引用中描述了这些:http://developer.apple.com/mac/library/documentation/Cocoa/Reference/Foundation/Classes/NSData_Class/Reference/Reference.html#//apple_ref/occ/instm/NSData/writeToFile:atomically:
如果要从磁盘加载它,请使用[NSData dataWithContentsOfFile:]
将其再次加载到NSData对象中。
至于将NSData解析为XML,请查看这个非常常见问题的其他答案,例如: How do I parse an NSString containing XML in Objective-C?