快速解析XML失败,并显示nil错误

时间:2018-12-30 16:13:42

标签: swift xml abort

我正在尝试使用Swift解析xml文件。我创建了一个XMLParserDelegate类OSM,该类实现以下功能:

func parserDidStartDocument(_ parser: XMLParser)
func parserDidEndDocument(_ parser: XMLParser)
func parser(_ parser: XMLParser, didStartElement elementName: String, namespaceURI: String?, qualifiedName qName: String?, attributes attributeDict: [String : String] = [:])
func parser(_ parser: XMLParser, didEndElement elementName: String, namespaceURI: String?, qualifiedName qName: String?)

我按如下方式使用委托:

let url = URL(string: "file:///Users/<Username>/Documents/Maps/OSMFiles/simple.osm")!
print(url.absoluteString)
let parser = XMLParser(contentsOf: url)!
let osm = OSM()
parser.delegate = osm
print(parser.parse())
print(parser.parserError)

该代码显示以下内容:

file:///Users/<Username>/Documents/Maps/OSMFiles/simple.osm
false
nil

1 个答案:

答案 0 :(得分:0)

事实证明,应用沙箱是问题所在,可能是因为我试图访问沙箱外部的文件。关闭沙箱即可解决问题。