iOS开发使用XML解析网络数据

XML解析其实这个概念出现了算够久了,以前javaweb什么到处都在用。这边我们主要大致介绍下,然后在在ios编程如何使用。

前言:本篇随笔介绍的是XML解析。

正文:

1、XML解析方式有2两种:

DOM:一次性将整个XML数据加载进内存进行解析,比较适合解析小文件SAX:从根元素开始,按顺序一个元素一个元素往下解析,比较适合解析大文件

2、IOS中XML解析方案有很多种:

  2-1、第三方框架:

    libxml2:纯C语言,默认包含在iOS SDK中,同时支持DOM和SAX解析

    GDataXML:DOM方式解析,由Google开发,基于libxml2

  2-2、苹果原生

    NSXMLParser:SAX方式解析,使用简单

  2-3、本人基于苹果原生NSXMLParser封装好的XML解析工具

    HYXMLParser:SAX方式解析,使用比NSXMLParser更简单,更简洁。

           下载地址:HYXMLParser

3、XML解析方式的选择建议

  大文件:NSXMLParser或者HYXMLParser、libxml2(但是几乎不用)

  小文件:GDataXML、NSXMLParser或者HYXMLParser、libxml2

4、NSXMLParser使用示例:

   解析过程三步走:

  

  

  

5、关于HYXMLParser使用代码示例图(导入HYXMLParser之后就下面几行代码解析完毕,而且简单易用):

  这里展示的示例是从HYXMLParser下载的XMLParser_3这第3个版本的XML解析工具类:

  

  5-1、先将HYXMLParse文件工具类直接拷贝你的项目中:

  

  5-2、然后使用:

  

  根据实际需求,字典转模型的方法可能用MJExtension代替KVC最合适。

  如果读者熟悉苹果原生的NSXMLParser,那么再来使用本人封装好的这个HYXMLParser,你会发现本人封装好的HYXMLParser很简单易用。

  同时建议刚学习XML解析的读者先熟练掌握苹果NSXMLParser解析,也就是前面第4点介绍的解析过程,再来学习使用本人的HYXMLParser。

6、简单说说本人封装好的的HYXMLParser_3的实现思路。

  6-1、将苹果原生的NSXMLParser通过代理方法SAX解析XML的方式封装在一个普通的NSObject类中。

  6-2、在代理解析方法中,因为需要不断的创建模型对象,这里我使用了NSObjectFromString方法,通过类的名字来创建类对象,然后通过类对象创建模型对象。

     这样就模型对象的类名可以通过参数NSString类型外部传入,同时实现了与模型对象的解耦,不需要import需要的模型对象的类。

  6-3、根据实际需求,可能需要MJExtension字典转模型来替代功能有限的苹果原生的KVC,所以这里用Block来提供对外公开的接口,让外部自由选择字典转模型的方法。

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

GDataXML是Google开发的一个XML解析库,轻便,特点使用非常简单,支持XPath。今天把前两天弄的IOS XML解析记录下来,也供大家参考。
JSON是一种轻量级的数据格式,一般用于数据交互,服务器返回给客户端的数据,一般都是JSON格式或者XML格式(文件下载除外)下面我们就看下在IOS开发中如何结合json呢
iOS开发之UIWebView 是本文要介绍的内容,UIWebView是iOS sdk中一个最常用的控件,是内置的浏览器控件,我们可以用它来浏览网页、打开文档等等
关于地理位置及定位系统,在iOS开发中也比较常见,接下来通过本文给大家介绍IOS入门笔记之地理位置定位系统,对ios地理位置定位系统感兴趣的朋友一起学习吧
最近和另外一位同事负责公司登录和用户中心模块的开发工作。通过本文给大家分享IOS开发用户登录注册模块所遇到的问题,感兴趣的朋友一起学习吧
这篇文章主要介绍了iOS开发中使用storyboard创建导航控制器的方法,包括对控制器声明周期的控制介绍,代码基于传统的Objective-C,需要的朋友可以参考下