xml数据的解析
来源:互联网 发布:淘宝基础店铺全屏店招 编辑:程序博客网 时间:2024/06/05 03:18
首先创建一个xml文件
<data><person age = "15">ZhangSan</person><person age = "2">jikexueyuan</person><a><b> <c> </c></b></a></data>将xml数据文件导入到文件列表中
随后再代码中 创建xml的解析对象 通知其代理 随后开始解析
import UIKitclass ViewController: UIViewController,NSXMLParserDelegate{ override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. //创建xml的解析对象 var parser = NSXMLParser(contentsOfURL: NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("data", ofType: "xml")!)) //通知代理 parser?.delegate = self //开始解析 parser?.parse() } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. }//实现代理的方法 来解析数据 var currentNodeName:String? func parser(parser: NSXMLParser, didStartElement elementName: String, namespaceURI: String?, qualifiedName qName: String?, attributes attributeDict: [String : String]) { //获得名字 print(elementName) currentNodeName = elementName //获得属性 if elementName == "person"{ //为了以防有的对象没有age的属性 则要对其进行判断 有没有age的属性 if let age = attributeDict["age"] { print("age:\(age)") } }} //查找当前内容 func parser(parser: NSXMLParser, foundCharacters string: String) { //避免空格符号的出现 var str = string.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet()) if str != "" { print("current Node : \(currentNodeName) value is \(str)") } } }
查找到的信息如下所示
age:15
current Node : Optional("person") value is ZhangSan
person
age:2
current Node : Optional("person") value is jikexueyuan
a
b
c
data
person
age:15
current Node : Optional("person") value is ZhangSan
person
age:2
current Node : Optional("person") value is jikexueyuan
a
b
c
0 0
- xml数据的解析
- XML数据的解析
- xml数据的解析
- 网络数据的XML解析
- 网络数据的XML解析
- 网络数据的XML解析
- Android xml数据的解析
- 解析XML格式的数据
- xml数据和xml文件的解析
- 38.XML数据解析的SAX解析
- 39.XML数据解析的DOM解析
- 网络数据解析(解析返回的xml数据形式)
- Dom4j解析String类型的xml数据
- C#关于xml数据的解析
- JQuery解析XML数据的例子
- 解析NSString形式的XML数据
- 解析xml数据的简单demo
- Kissxml 解析 XML数据的简单Demo
- Cookie与Session
- Objective-C编码规范:26个方面解决iOS开发问题
- GSM系统消息
- CodeForces 305D Olya and Graph
- iOS攻略之动态添加tableView的行
- xml数据的解析
- Real Time Rendering --third edition 16.8节翻译
- iOS 获得版本号 区分BundleVersion和BundleShortVersionString
- 过滤器与拦截器区别,action通配符配置,struts2数据验证
- Codeforces Gym 100814C Connecting Graph (并查集, 树链剖分)
- LINUX+10.2.0.3 RAC删除、增加节点所遇问题记录
- 桥接模式
- 第二次做leetcode中的难度为easy的题-258
- 大秦帝国-《治秦九论》