如何在Objective-c中将文件从URL保存到本地

时间:2011-10-06 10:19:55

标签: objective-c

根据tutorial,XmlAppDelegate.m文件中的代码将直接从给定的URL解析XML文件。

我想问一下,有没有办法将XML文件保存到本地内存FIRST,然后相应地处理解析工作?

由于

NSURL *url = [[NSURL alloc] initWithString:@"http://www.edumobile.org/blog/uploads/XML-parsing-data/Data.xml"];
NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithContentsOfURL:url];

2 个答案:

答案 0 :(得分:1)

在使用数据初始化XML解析器之前,只需将字节作为原始字节抓取并保存到磁盘:

NSData *contents = [NSData dataWithContentsOfURL:url];
BOOL success = [contents writeToFile:path atomically:YES];

NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithData:contents];

答案 1 :(得分:-2)

您始终可以将其加载到字符串中:

[NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];

最好传递并测试NSError对象,您可能希望将其写入文件(writeToFile:atomically:encoding:error:)。

您可以使用NSXMLParser中的initWithData:将字符串传递给NSData

[string dataUsingEncoding:NSUTF8StringEncoding];