快速解析 XML
Posted
技术标签:
【中文标题】快速解析 XML【英文标题】:XML parsing in swift 【发布时间】:2014-11-03 20:48:01 【问题描述】:有人可以帮助我为什么下面的代码不起作用..我正在 Xcode.1 Playground 中测试它
let url:NSURL! = NSURL(fileURLWithPath:"file:///Users/sss/Documents/app.xml")
var xml = NSXMLParser(contentsOfURL: url)
xml?.parse()
【问题讨论】:
【参考方案1】:游乐场是沙盒的,因此您不能只从用户文件夹中的任何位置抓取文件。以下是将该文件添加到您的 Playground 以使其可访问的方法:
-
在 Finder 中找到您的“.playground”文件
右键单击并选择“显示包内容”
您应该会看到“timeline.xctimeline”、“contents.xcplayground”和“section-1.swift”
创建一个名为“Resources”的新文件夹
将“app.xml”复制到新文件夹中
现在您的文件将在沙箱中可用。您可以从包中检索它并将其加载到 NSXMLParser
中,如下所示:
let url: NSURL! = NSBundle.mainBundle().URLForResource("app", withExtension: "xml")
var xml = NSXMLParser(contentsOfURL: url)
【讨论】:
嗨,Nate Cook 非常感谢您的大力帮助。现在我明白游乐场是一个沙盒环境。但是你能告诉我为什么同样的 3 行代码不能在 Mac OS X 应用程序上运行吗?实际上我在我的 mac 应用程序中有一个要求,我必须解析用户从 NSOpenPanel 选择的 xml 文件 错过了您的跟进,抱歉!如果您仍然遇到此问题,您可以发布一个新问题吗?我对NSOpenPanel
和 OS X 沙盒并不十分熟悉。
如果您在进行这些更改时打开了 Playground 文件,请记住在尝试访问 Resources 文件夹中的文件之前关闭并重新打开它。以上是关于快速解析 XML的主要内容,如果未能解决你的问题,请参考以下文章