2014-11-03 127 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