xml数据的解析

原创 2015年11月21日 20:14:10

首先创建一个xml文件

<data>
<person age = "15">ZhangSan</person>
<person age = "2">jikexueyuan</person>
<a>
<b>
    <c>
    </c>
</b>
</a>
</data>
将xml数据文件导入到文件列表中
随后再代码中 创建xml的解析对象 通知其代理 随后开始解析

import UIKit

class 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




版权声明:本文为博主原创文章,未经博主允许不得转载。

解析XML格式的数据

在网上传输数据时最常用的格式有两种:XML和JSON。 1.解析XML格式 有两种解析方法:Pull和SAX 需要解析的XML格式的内容如下: 1 Google Maps 1...
  • ZhiChu_2025
  • ZhiChu_2025
  • 2016年08月14日 16:54
  • 1851

Java解析xml格式数据

package com.cn; import java.io.IOException; import java.io.StringReader; import java.util.List; im...
  • Dabria_ly
  • Dabria_ly
  • 2017年06月22日 18:05
  • 612

Android解析xml文件获取数据练习

前几天单词app中,已经可以显示单词了,对比有道词典的单词表,主要是有单词备注的功能,可以进行联想记忆,而且程序占用空间小,没有太多的通知信息。 以前使用有道词典的单词保存了一些单词,有道里的单词可以...
  • aaajj
  • aaajj
  • 2015年06月21日 16:45
  • 1059

XML解析详解

概述 XML(eXtensive Markup Language)可扩展的标记语言,是万维网联盟(World Wide Web Consortium W3C)定义的一种标准。 可扩展性指允许用户按照...
  • u010445297
  • u010445297
  • 2017年03月10日 17:51
  • 1863

微信XML解析

上一篇文章微信开发-java篇中简单的介绍了微信开发入门,里面引用的文章中,使用XML解析是用dom4j来解析的,但回复微信消息的时候,采用的组包方式是直接字符串拼接的方法,这种方法虽然直观,但不方便...
  • NingRanZuoZuo
  • NingRanZuoZuo
  • 2016年01月13日 11:12
  • 2572

js解析XML数据

用JavaScript解析XML数据是常见的编程任务,JavaScript能做的,JQuery当然也能做。下面我们来总结几个使用JQuery解析XML的例子。 第一种方案: ...
  • ejinxian
  • ejinxian
  • 2014年11月05日 22:23
  • 3329

微信开发之解析xml

public Map parseXml(HttpServletRequest request) throws Exception { // 将解析结果存储在HashMap中 ...
  • lishaojun0115
  • lishaojun0115
  • 2016年03月21日 11:32
  • 1246

Java接收Cordys中webservice接口的返回数据并解析xml获取相应节点数据

Java接收Cordys中webservice接口的返回数据并解析xml获取相应节点数据在做项目的过程中,需要用Java调用Cordys的webservice接口的返回数据,众所周知,webservi...
  • nxw_tsp
  • nxw_tsp
  • 2017年07月31日 10:00
  • 947

[JQ权威指南]JQuery读取XML数据

读取XML数据对象,并以班级分组的方式将各年级的同学信息显示在页面中。
  • david_520042
  • david_520042
  • 2016年08月02日 08:10
  • 2067

第一行代码-10.3 解析XML数据格式

准备工作:首先开启wamp server,然后在wamp/www目录下新建get_data.xml文件,并写入以下内容: 1 Google Maps 1.0 2 Chrome 2.1 ...
  • xiaoliizi
  • xiaoliizi
  • 2016年02月29日 22:58
  • 680
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:xml数据的解析
举报原因:
原因补充:

(最多只允许输入30个字)