解析 swift 中的 XML 失败并出现 nil 错误
Parsing XML in swift fails with nil error
我正在尝试使用 Swift 解析 xml 文件。我创建了一个 XMLParserDelegate class,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
原来应用沙箱是问题所在,可能是因为我试图访问沙箱外的文件。关闭沙盒可以解决问题。
我正在尝试使用 Swift 解析 xml 文件。我创建了一个 XMLParserDelegate class,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
原来应用沙箱是问题所在,可能是因为我试图访问沙箱外的文件。关闭沙盒可以解决问题。