【发布时间】:2023-03-20 12:10:01
【问题描述】:
我正在尝试将文件读入 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 用户信息=0x1006281c0 "的 文件无法打开,因为 不支持指定的 URL 类型。” 基础错误=(错误 域=NSURLErrorDomain 代码=-1002 UserInfo=0x1006280d0 "不支持的 URL" 基础错误=(错误 域=kCFErrorDomainCFNetwork 代码=-1002 用户信息=0x100627d50 “不支持的网址”))
【问题讨论】:
-
请尝试@"~/Library/Preferences/Quark/QuarkXPress\ 8/OutputStyles.xml"。
-
Nop 不起作用。而且我还收到未知转义序列的警告。感谢您的意见。
-
和@"~/Library/Preferences/Quark/QuarkXPress 8/OutputStyles.xml",在那个url字符串中有一个//,现在没有引用空格。
-
对不起,那 // 是一个错误,我在原来的 mesag.e 中删除了它
-
啊!你可以在调用 stringByExpandingTildeInPath 之后添加 file:// 吗?
标签: objective-c cocoa nsurl nsxmldocument