ISO swift下XML資料解析

來源:互聯網
上載者:User

標籤:

import UIKitclass 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.    }}

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

ISO swift下XML資料解析

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.