欢迎-------(北京-iOS移动开发金牌教师QQ:2592675215)韩老师给你带来XML解析课程

今天给大家讲解下xml解析的第三方简单用法;首先我解释下,json和xml解析格式。

JSON格式,轻量级解析,一般都是字典套数组,或者数组套字典。非常简单。

XML格式,一般都是节点形式的存在如:

<?xml version="1.0" ?>

<students>

<student name="aa" gender="男" age="22"/>

<student name="bb" gender="女" age="23"/>

<student name="cc" gender="男" age="24"/>

</students>

那么我解释下上面的这段xml格式。

1.<?xml version="1.0" ?>首先这是声明,xml声明这一点是规定的,当然如果你是做前端的不必要在乎这些,这是后端服务器的任务。

2.<students>是节点,一个xml里面未必存在一个节点,也许会有多个,每个节点里面的子节点都是当前节点的需求

3.<student name="aa" gender="男" age="22"/>子节点,前面说了<students>是节点,<student name="aa" gender="男" age="22"/>是子节点。

这里我讲解是第三方GDataXML用法

那么我们就针对上面的xml格式去解析它。下面咱们看下怎么去做。

首先切记导入你相应的第三方文件;

NSData *data...............从服务器返回过来的数据

    

    GDataXMLDocument *doc=[[GDataXMLDocument alloc] initWithData:data options:0 error:nil];

    GDataXMLElement *root=doc.rootElement;//students;获取根节点

    

    ****这里的root.children:students节点的所有子节点:

    for (GDataXMLElement *student in root.children) {

        WYStudent *stu=[[WYStudent alloc] init];

        

        GDataXMLNode *name=student.attributes[0];//获取第一个属性

        stu.name=[name stringValue];//获取属性保存的数据

        

        GDataXMLNode *gender=student.attributes[1];

        stu.gender=[gender stringValue];

        

        GDataXMLNode *age=student.attributes[2];

        stu.age=[age stringValue];

        

        [self.studentArr addObject:stu];这里我利用了模型,mvc开发模式。丢给模型后又丢给了数组

    }

这时你就可以拿取数组里的数据了。这里说下,现在第三方解析xml,很多种。选择适合自己一种就ok。当然多学习其他类型更好。我会找个时间再给大家更新利用其他第三方解析xml的相关文档。请你敬请等待。

iOS XML解析使用-韩国庆的更多相关文章

  1. IOS XML解析

    <?xml version = "1.0"  encoding ="utf-8"?> <video>小黄人</video> ...

  2. iOS XML  解析(原生的)

    #import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicationDelegate> @pr ...

  3. iOS - XML 数据解析

    前言 @interface NSXMLParser : NSObject public class NSXMLParser : NSObject 1.XML 数据 XML(Extensible Mar ...

  4. iOS开发——网络篇——JSON和XML,NSJSONSerialization ,NSXMLParser(XML解析器),NSXMLParserDelegate,MJExtension (字典转模型),GDataXML(三方框架解析XML)

    一.JSON 1.JSON简介什么是JSONJSON是一种轻量级的数据格式,一般用于数据交互服务器返回给客户端的数据,一般都是JSON格式或者XML格式(文件下载除外) JSON的格式很像OC中的字典 ...

  5. 2016 - 1- 23 iOS中xml解析 (!!!!!!!有坑要解决!!!!!!)

    一: iOS中xml解析的几种方式简介 1.官方原生 NSXMLParser :SAX方式解析,使用起来比较简单 2.第三方框架 libxml2 :纯C 同时支持DOM与SAX GDataXML: D ...

  6. iOS开发之网络数据解析(二)--XML解析简介

    前言:本篇随笔介绍的是XML解析. 正文: 1.XML解析方式有2两种: DOM:一次性将整个XML数据加载进内存进行解析,比较适合解析小文件 SAX:从根元素开始,按顺序一个元素一个元素往下解析,比 ...

  7. iOS -数据库网络之xml解析之远程解析XML

    1.IOS中XML文件获取    //设置远程访问地址     NSURL *url=[NSURL URLWithString:@""];       //创建动态URL请求,并初 ...

  8. iOS -数据库网络之xml解析

    XML文件有2种解析方式 1.基于文档(document) 2.基于事件(sax)   1.IOS中XML文件获取   首先要将XML导入工程中 在ViewController的按钮事件中,代码如下: ...

  9. iOS平台XML解析类库对比和安装说明

    在iPhone开发中,XML的解析有很多选择,iOS SDK提供了NSXMLParser和libxml2两个类库,另外还有很多第三方类库可选,例如TBXML.TouchXML.KissXML.Tiny ...

随机推荐

  1. HBase原理和设计

    转载 2016年1月10日:http://www.sysdb.cn/index.php/2016/01/10/hbase_principle/ 简介 架构 数据组织 原理 RS定位 region写入 ...

  2. cocoa-charts 导入其依赖库TABlib 报UIKit Foundation找不到的问题

    对于应用到项目中的一些第三方类库,尤其是C/C++ 写的,里面的大部分类文件的后缀都是 .C. 解决办法: 在 build setting 里按照如图所示,进行设置: 这说明以后只要是第三方类库中使用 ...

  3. sqlalchemy关于时间的数据类型

    #导入模块 from sqlalchemy import Column, Integer, String, Date, create_engine from sqlalchemy.ext.declar ...

  4. Fiddler实现手机抓包——小白入门

    方法1:https://www.cnblogs.com/hzg1981/p/5610530.html 方法2:转载自:http://blog.csdn.net/gld824125233/article ...

  5. MyBatis-Spring开发记录贴(新手)

    初学MyBatis-Spring,发个帖子记录一下自己的学习历程,先写个自己的编程步骤. 1.先进行数据库设计. 2.根据所设计的数据,写出相应的POJO,并写出setter和getter方法. 3. ...

  6. linux自动备份lampp的日志

    要求是:每天23:59自动备份lampp的日志/opt/lampp/logs/access_log 放到这个目录下/tmp/bak 命名格式:access_log.日期 1.新建shell脚本#vi ...

  7. 【[AHOI2005]洗牌 题解

    一道好题. 首先是数据范围. 0<N≤10^10 ,0 ≤M≤10^10,且N为偶数 这是这道题的坑点,也是痛点. 10^10表示这这道题必有规律. 那么,first step,我们先探索规律. ...

  8. ML_Clustering

    西瓜书学习...ing K均值 k-means 给定样本集$ D = {X_1,X_2,...X_n} \(,k-means针对聚类所得簇划分\)C = {C_1,C_2,...,C_k}$最小化平方 ...

  9. 货币转换 I

    描述 人民币和美元是世界上通用的两种货币之一,写一个程序进行货币间币值转换,其中: 人民币和美元间汇率固定为:1美元 = 6.78人民币. 程序可以接受人民币或美元输入,转换为美元或人民币输出.人民币 ...

  10. [双系统linux] ----安装完成后无法打开wifi

    在安装了linux 双系统以后发现无法打开wifi和蓝牙. rfkill list all 0:ideapad_wlan: Wireless LANSoft blocked: noHard block ...