如何通过NSXMLParser加载xml文件

问题描述 投票:0回答:2

我找到了NSXMLParser构造函数使用URL的示例,例如:

NSXMLParser(contentsOfURL: (NSURL(string:"http://images.apple.com/main/rss/hotnews/hotnews.rss")))!

但是我找不到如何将它与项目中的xml文件一起使用。

ios swift nsxmlparser
2个回答
6
投票

要获取应用程序包中的资源路径,请使用NSBundlepathForResource:ofType:方法,如:

 var path = NSBundle.mainBundle().pathForResource("MyFile", ofType: "xml")

您可以从路径创建文件URL并将其传递给NSXMLParser

    var parser: NSXMLParser?
    let path = NSBundle.mainBundle().pathForResource("MyFile", ofType: "xml")
    if path != nil {
        parser = NSXMLParser(contentsOfURL: NSURL(fileURLWithPath: path!))
    } else {
        NSLog("Failed to find MyFile.xml")
    }

    if parser != nil {
        // Do stuff with the parser here.
    }

0
投票

Swift 4版本接受了答案

var parser : XMLParser?
    if let path = Bundle.main.path(forResource: "File", ofType: "xml") {
        parser = XMLParser(contentsOf: URL(fileURLWithPath: path))

        if parser?.parse() ?? false {

        }else {
            print("Unable to parse")
        }

    }else {
        print("File read error")
    }
© www.soinside.com 2019 - 2024. All rights reserved.