我需要从一个URL ADRESS一个.xml文件加载到一个NSData对象进一步,我已经拥有了一些库解析,(但他们问我.xml文件作为NSData的),我怎么能做到这一点?

URL格式将是这样的:

http://127.0.0.1/config.xml

有帮助吗?

解决方案

假设它是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];

其他提示

您可以致电NSData- (id)initWithContentsOfURL:(NSURL *)aURL程序。这里更多的信息:

http://developer.apple的.com /文档/可可/参考/粉底/类别/ NSData_Class /参考/的reference.html

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top