3

我正在尝试将文件读入 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 代码 = 262 UserInfo = 0x1006281c0 “无法打开文件,因为不支持指定的 URL 类型。” 基础错误=(错误域=NSURLErrorDomain 代码=-1002 UserInfo=0x1006280d0 “不支持的 URL” 基础错误=(错误域=kCFErrorDomainCFNetwork 代码=-1002 UserInfo=0x100627d50 “不支持的 URL”))

4

2 回答 2

8

在调用stringByExpandingTildeInPathfile://之后添加 :)

于 2011-04-19T12:58:48.847 回答
0

Prepend file: not file:// for example

NSURL *url = [NSURL URLWithString:([NSString stringWithFormat:@"file:/Users/name/Desktop/%@",fileName])];
于 2014-04-08T09:46:04.100 回答