欢迎-------(北京-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. java生成jar并用ikvm生成dll供C#调用

    最近想尝试用C#做NB_IOT北向API接口的访问.北向API的接口的访问需要证书的双向认证,而C#不支持双向认证,所以就使用IKVM在C#中跑JAVA程序实现HTTPS请求部分. 步骤如下: 一.使 ...

  2. Image & Raw Image的区别

    一.面板参数 1.Image类型: Source Image:图片资源(sprite) Color:颜色 Material:材质 Raycast Target :是否作为射线目标 Sprite 2D: ...

  3. matlab中如何用rand产生相同的随机数

    直接给链接:rand()产生相同随机数

  4. Visual C++ 6.0中if..else..的简单用法和基本格式

    # include <stdio.h> int main (void) { float score; printf("请输入您的考试成绩:"); scanf(" ...

  5. 04PHP HTML状态保持

    HTTP无状态:会话时没有储存数据 HTTP状态保持: 1.Cookie:保存在浏览器   $_COOKIE[ ] 超全局变量  数组 不安全,用户可清楚数据时把Cookie清除 ==目的:多页面之间 ...

  6. spring注解注入:<context:component-scan>详解

    spring从2.5版本开始支持注解注入,注解注入可以省去很多的xml配置工作.由于注解是写入java代码中的,所以注解注入会失去一定的灵活性,我们要根据需要来选择是否启用注解注入. 我们首先看一个注 ...

  7. Hello2实例的分析

    首先: java EE 上的hello2项目是一个部署在glass fish上的开发源码的java web项目,在终端通过命令行使用maven进行打包成.war文件,最后部署到相关的glass fis ...

  8. POJ1037 A decorative fence

    题意 Language:Default A decorative fence Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 84 ...

  9. java web(三):ServletContext、session、ServletConfig、request、response对象

    上一篇讲了Servlet: 1)什么是Servlet[servlet本身就是一种Java类,这种Java类提供了web形式的方法,只要实现了servlet接口的类,都是一种servlet资源.] 2) ...

  10. MyCP课下作业

    任务详情 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: java MyCP -tx XXX1.txt XXX2.bin 用来把文本文件(内容为 ...