根据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];
答案 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];