微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ISO swift下XML数据解析

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。

编程之家小编现在分享给大家,也给大家做个参考。

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

以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐