iOS中XML解析方式之SAX解析
2015-01-02 22:02
204 查看
在iOS中我们获取的文件会以很多中形式储存,那么我们怎么能转化成我们需要的形式,被我们使用呢?下面我们就一起来学习一下解析XML格式文件的SAX方法
首先我们应该先了解一下什么是XML格式,这样我们在解析的时候就能找到我们想要的内容,从而解析出我们想要得到的内容
我们来看一下简单地XML的存储格式
大家看下面的图<>是一个开始标签 </>是一个结束标签.内容存放与开始标签和结束标签之间,是以树的形式对数据进行储存的,接下来我们看一下如何对XML数据进行解析
首先我们应该创建一个Student类,属性和XML中需要解析的内容一致
下面我们就要开始解析XML文件,首先我们要获取文件的路径,在这里,我是把文件直接拖到工程中,当然在实际的操作中,我们经常是将网上获取的文件进行解析.但是在这里我们只是简单地演示一下整个的过程,之于更加复杂的解析,只不过是举一反三,比葫芦画瓢罢了
NSXMLParse类,是XML解析类,使用SAX方法进行解析,接下来我们创建NSXMLParse类,整个解析过程是在代理中进行,所以我们还要设置代理,遵循协议并且实现方法
我们应该注意箭头标注的地方(这里是告诉系统我们做好准备了,要开始解析了),因为很多人容易忘记写,导致程序运行出来没有值
解析出来的数据我们还要设置变量进行接收
接下来我们实现代理里面的方法,代理里面有许多的方法,当然我们只选择我们所需要的
1,开始解析,在开始解析里面,我们可以对我们的接收变量进行初始化
2,遇到开始标签,就是<>,这里面的开始标签的选取是由针对性的,不同的开始标签有不同的功能.大家可以从下面的代码中看一下标签的选取 遇到student标签时,说明后面紧跟的内容就是我们想要获取内容,那么此时,我们将student进行初始化,用来接收数据
在开始与结束标签之间,我们设置一个tempString来接收数据,作为一个临时存放数据的容器
在我们遇到结束标签时,说明我们已经将我们所需要的内容存储到设置的tempString中了,现在我们要做的就是将我们需要的内容进行分离赋值
在结束解析的时候我们可以将我们解析到的内容打印出来
当然,我们也可以打印一下错误信息,这样如果出现错误的时候,我们可以根据信息找到错误所在
到此,我们的XML的SAX解析就进行完了.当然如果遇到更复杂的内容时,里面还有许多的问题,比如
如果接收的内容过大,但是在解析时不能一次性的解析出来,需要分几部分进行解析,这是该做怎样的调整呢?
我们会在下面的文章中进行学习!!!
首先我们应该先了解一下什么是XML格式,这样我们在解析的时候就能找到我们想要的内容,从而解析出我们想要得到的内容
我们来看一下简单地XML的存储格式
大家看下面的图<>是一个开始标签 </>是一个结束标签.内容存放与开始标签和结束标签之间,是以树的形式对数据进行储存的,接下来我们看一下如何对XML数据进行解析
首先我们应该创建一个Student类,属性和XML中需要解析的内容一致
下面我们就要开始解析XML文件,首先我们要获取文件的路径,在这里,我是把文件直接拖到工程中,当然在实际的操作中,我们经常是将网上获取的文件进行解析.但是在这里我们只是简单地演示一下整个的过程,之于更加复杂的解析,只不过是举一反三,比葫芦画瓢罢了
NSXMLParse类,是XML解析类,使用SAX方法进行解析,接下来我们创建NSXMLParse类,整个解析过程是在代理中进行,所以我们还要设置代理,遵循协议并且实现方法
我们应该注意箭头标注的地方(这里是告诉系统我们做好准备了,要开始解析了),因为很多人容易忘记写,导致程序运行出来没有值
解析出来的数据我们还要设置变量进行接收
接下来我们实现代理里面的方法,代理里面有许多的方法,当然我们只选择我们所需要的
1,开始解析,在开始解析里面,我们可以对我们的接收变量进行初始化
2,遇到开始标签,就是<>,这里面的开始标签的选取是由针对性的,不同的开始标签有不同的功能.大家可以从下面的代码中看一下标签的选取 遇到student标签时,说明后面紧跟的内容就是我们想要获取内容,那么此时,我们将student进行初始化,用来接收数据
在开始与结束标签之间,我们设置一个tempString来接收数据,作为一个临时存放数据的容器
在我们遇到结束标签时,说明我们已经将我们所需要的内容存储到设置的tempString中了,现在我们要做的就是将我们需要的内容进行分离赋值
在结束解析的时候我们可以将我们解析到的内容打印出来
当然,我们也可以打印一下错误信息,这样如果出现错误的时候,我们可以根据信息找到错误所在
到此,我们的XML的SAX解析就进行完了.当然如果遇到更复杂的内容时,里面还有许多的问题,比如
如果接收的内容过大,但是在解析时不能一次性的解析出来,需要分几部分进行解析,这是该做怎样的调整呢?
我们会在下面的文章中进行学习!!!
相关文章推荐
- Android解析XML方式(一)使用SAX解析
- 如何给你iOS项目选择最合适的XML解析方式
- 【慕课笔记】3-2 应用SAX方式解析XML—使用SAX解析XML文件的节点属性
- iOS用SAX方式解析XML
- 如何给你iOS项目选择最合适的XML解析方式
- IOS网络笔记--xml解析之一(sax解析)
- 【慕课笔记】3-3 应用SAX方式解析XML—使用SAX解析XML文件的节点名和节点间文本
- iOS 常用解析方式(XML、Json)
- iOS-XML文件解析(原生NSXMLParser和GDataXML两种解析方式)
- 关于IOS数据操作方式详解(一)— XML数据解析
- iOS ——XML数据结构及其两种解析数据的方式SAX 、DOM
- 关于IOS数据操作方式详解(一)— XML数据解析
- 【慕课笔记】3-4 应用SAX方式解析XML—使用SAX解析将XML的内容和结构存入JAVA对象
- 如何给你iOS项目选择最合适的XML解析方式
- iOS- JSon和Xml解析,与服务器交互数据的解析详解与使用,各种解析方式详解
- XML的两种解析方式逐行解析(SAX解析)节点解析(DOM解析); 推荐
- java解析xml的几种方式 SAX解析
- IOS XML 解析SAX解析方式
- Android解析XML方式(一)使用SAX解析
- 【慕课笔记】3-1 应用SAX方式解析XML—使用SAX解析XML文件的开始和结束