2014-11-03 134 views
7

解析一些机构可以帮我,为什么下面的代码不工作..我在Xcode.1游乐场测试它XML在迅速

let url:NSURL! = NSURL(fileURLWithPath:"file:///Users/sss/Documents/app.xml") 

var xml = NSXMLParser(contentsOfURL: url) 

xml?.parse() 

回答

19

操场的沙箱,这样你就不能只需从用户文件夹中的任意位置抓取文件。以下是如何将该文件添加到您的操场,使其访问:

  1. 找到你的“.playground”文件在Finder
  2. 右击并选择‘显示包内容’
  3. 您应该看到“时间表.xctimeline”, “contents.xcplayground” 和 “科1.swift”
  4. 建立一个叫做新文件夹 “资源”
  5. 复制 “app.xml的” 成新的文件夹

现在,您的文件将在沙箱内提供。您可以从包中取回它并将其加载到NSXMLParser中,如下所示:

let url: NSURL! = NSBundle.mainBundle().URLForResource("app", withExtension: "xml") 
var xml = NSXMLParser(contentsOfURL: url) 
+0

嗨Nate Cook非常感谢您的大力帮助。现在我明白,操场是一个沙盒环境。但是,你能告诉我为什么相同的3行代码在Mac OS X应用程序上不起作用。其实我有我的Mac应用程序中的需求,我必须解析用户从NSOpenPanel选择的xml文件 – appdevelopersspotlight 2014-11-04 06:46:19

+0

错过了您的后续行动,对不起!如果你仍然有这个麻烦,你能发表一个新的问题吗?我不完全熟悉'NSOpenPanel'和OS X沙箱。 – 2014-11-17 16:29:50

+0

如果您在进行这些更改时已打开操场文件,请记住在尝试访问“资源”文件夹中的文件之前关闭并重新打开它。 – 2015-06-29 13:05:16