如何在文档中下载并保存xml,然后如何从文档中解析xml文件?

时间:2010-07-02 11:55:19

标签: iphone objective-c xml-parsing

在我的应用程序应用程序中,我必须解析从Internet下载的xml文件。如何下载这个xml并保存在iphone上的文件中?然后我该如何开始解析保存在文档中的XML?

2 个答案:

答案 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?