我需要将一个.xml文件从一个URL地址加载到一个NSData对象中,以便进一步解析我已经拥有的一些库(但是他们问我.xml文件是NSData),我该怎么做?
网址格式如下:
答案 0 :(得分:7)
假设它是UTF-8数据。如果它是本地的(即在包内),如:
NSError *error;
NSString* contents = [NSString stringWithContentsOfFile:PATHTOLOCALFILE
encoding:NSUTF8StringEncoding
error:&error];
NSData* xmlData = [contents dataUsingEncoding:NSUTF8StringEncoding];
如果它在远程站点上,那么应该这样做。请注意,它是同步的。如果您需要异步加载,那么您必须先建立自己的网络或使用类似ASIHTTPConnection的内容来下载文件。
NSError *error;
NSString* contents = [NSString stringWithContentsOfUrl:[NSURL URLWithString:URLOFXMLFILE]
encoding:NSUTF8StringEncoding
error:&error];
NSData* xmlData = [contents dataUsingEncoding:NSUTF8StringEncoding];
答案 1 :(得分:4)