打开文件时出现NSXMLDocument错误

时间:2011-04-19 11:43:59

标签: objective-c cocoa nsurl nsxmldocument

我正在尝试将文件读入NSXMLDocument。这是我的代码:

NSString *urlString = [@"~/Library/Preferences/Quark/QuarkXPress 8/OutputStyles.xml" stringByExpandingTildeInPath];
urlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *url = [NSURL URLWithString:urlString];

NSError *error = nil;

NSXMLDocument *doc = [[NSXMLDocument alloc] initWithContentsOfURL:url options:0 error:&error];
NSLog(@"%@", error);
NSLog(@"%@", doc);

但是,在控制台我得到:

2011-04-19 07:41:09.914 XMLTest[1409:a0f] Error Domain=NSURLErrorDomain Code=-1014 UserInfo=0x1001289d0 "zero byte resource"
2011-04-19 07:41:09.915 XMLTest[1409:a0f] (null)

关于可能出错的任何建议?我有那里的文件..我检查了100次...... 感谢。

编辑: 当我尝试使用[stringwithcontentofurl encoding error]方法在NSString中读取此内容时出现此错误:

  

错误域= NSCocoaErrorDomain   Code = 262 UserInfo = 0x1006281c0“The   无法打开文件,因为   不支持指定的URL类型。“   底层错误=(错误   Domain = NSURLErrorDomain Code = -1002   UserInfo = 0x1006280d0“不支持的URL”   底层错误=(错误   域名= kCFErrorDomainCFNetwork   Code = -1002 UserInfo = 0x100627d50   “不支持的网址”))

2 个答案:

答案 0 :(得分:8)

在调用stringByExpandingTildeInPath后添加file://:)

答案 1 :(得分:0)

Prepend file:not file:// 例如

NSURL *url = [NSURL URLWithString:([NSString stringWithFormat:@"file:/Users/name/Desktop/%@",fileName])];