ISO swift下XML數據解析

nbmm 9年前發布 | 3K 次閱讀 Objective-C IOS

    import UIKit

class ViewController: UIViewController ,NSXMLParserDelegate{  

    override func viewDidLoad() {  
        super.viewDidLoad()  
        //創建XMLParser對象,傳入XML格式的數據文件  
//        var parser=NSXMLParser(contentsOfURL: NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("data", ofType: "xml")!))!  
        //解析字符串格式的XML數據  
       let string="<data><person age='25'>zhangsan</person><person age='20'>lisi</person><person>wangwu</person><a><b><c>data</c></b></a></data>"  
        //字符串轉換為NSData格式一下兩種方式都可以轉換  
        //let string1:NSString = string  
        //let data1:NSData = string1.dataUsingEncoding(NSUTF8StringEncoding)!  
        var data1:NSData = NSData(bytes: string, length: count(string))  
        var parser = NSXMLParser(data: data1)  
        //委托  
        parser.delegate = self  
        //開始解析  
        parser.parse()  
    }  
    var elementName:String = ""  
    var attributeDice:[NSObject : AnyObject] = [NSObject : AnyObject]()  
    /*  
        開始解析的時候會執行該方法,通過此方法可以得到節點名稱和屬性 
    */  
    func parser(parser: NSXMLParser, didStartElement elementName: String, namespaceURI: String?, qualifiedName qName: String?, attributes attributeDict: [NSObject : AnyObject]){  
        self.elementName=elementName//當前循環節點的節點名稱  
        self.attributeDice=attributeDict//當前循環節點的所有屬性  
        println(elementName)  
    }  
    /* 
        通過此方法得到節點包含的內容 
    */  
    func parser(parser: NSXMLParser, foundCharacters string: String?) {  
//        //因為XML里面可能包含了換行符合空格,可以通過此方法去掉換行符合空格  
        var str:String! = string?.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())  
        if str != ""{  
            println("\(elementName):\(str)")  
        }  
    }  

    override func didReceiveMemoryWarning() {  
        super.didReceiveMemoryWarning()  
        // Dispose of any resources that can be recreated.  
    }  


}  </pre> 


 本文由用戶 nbmm 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!