【问题标题】:NSXMLDocument error with opening file打开文件时出现 NSXMLDocument 错误
【发布时间】: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


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    前置文件:不是文件:// 例如

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-10
      • 1970-01-01
      相关资源
      最近更新 更多