ISO swift下XML數據解析
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. } } </pre>
本文由用戶 nbmm 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!