【发布时间】:2011-03-11 01:46:34
【问题描述】:
在我的应用程序中,我必须解析从互联网下载的 xml 文件。如何下载此 xml 并保存在 iphone 上的文档中?那么如何开始解析保存在文档中的 XML 呢?
【问题讨论】:
标签: iphone objective-c xml-parsing
在我的应用程序中,我必须解析从互联网下载的 xml 文件。如何下载此 xml 并保存在 iphone 上的文档中?那么如何开始解析保存在文档中的 XML 呢?
【问题讨论】:
标签: iphone objective-c xml-parsing
第一次加载时将内容下载到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?
【讨论】:
你的意思是这样的
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]
【讨论】: