zoukankan      html  css  js  c++  java
  • iOS中XML解析方式之SAX解析

    在iOS中我们获取的文件会以很多中形式储存,那么我们怎么能转化成我们需要的形式,被我们使用呢?下面我们就一起来学习一下解析XML格式文件的SAX方法

    首先我们应该先了解一下什么是XML格式,这样我们在解析的时候就能找到我们想要的内容,从而解析出我们想要得到的内容

    我们来看一下简单地XML的存储格式

    大家看下面的图<>是一个开始标签 </>是一个结束标签.内容存放与开始标签和结束标签之间,是以树的形式对数据进行储存的,接下来我们看一下如何对XML数据进行解析

    首先我们应该创建一个Student类,属性和XML中需要解析的内容一致

    下面我们就要开始解析XML文件,首先我们要获取文件的路径,在这里,我是把文件直接拖到工程中,当然在实际的操作中,我们经常是将网上获取的文件进行解析.但是在这里我们只是简单地演示一下整个的过程,之于更加复杂的解析,只不过是举一反三,比葫芦画瓢罢了

    NSXMLParse类,是XML解析类,使用SAX方法进行解析,接下来我们创建NSXMLParse类,整个解析过程是在代理中进行,所以我们还要设置代理,遵循协议并且实现方法

    我们应该注意箭头标注的地方(这里是告诉系统我们做好准备了,要开始解析了),因为很多人容易忘记写,导致程序运行出来没有值

    解析出来的数据我们还要设置变量进行接收

    接下来我们实现代理里面的方法,代理里面有许多的方法,当然我们只选择我们所需要的

    1,开始解析,在开始解析里面,我们可以对我们的接收变量进行初始化

    2,遇到开始标签,就是<>,这里面的开始标签的选取是由针对性的,不同的开始标签有不同的功能.大家可以从下面的代码中看一下标签的选取 遇到student标签时,说明后面紧跟的内容就是我们想要获取内容,那么此时,我们将student进行初始化,用来接收数据

    在开始与结束标签之间,我们设置一个tempString来接收数据,作为一个临时存放数据的容器

    在我们遇到结束标签时,说明我们已经将我们所需要的内容存储到设置的tempString中了,现在我们要做的就是将我们需要的内容进行分离赋值

    在结束解析的时候我们可以将我们解析到的内容打印出来

    当然,我们也可以打印一下错误信息,这样如果出现错误的时候,我们可以根据信息找到错误所在

    到此,我们的XML的SAX解析就进行完了.当然如果遇到更复杂的内容时,里面还有许多的问题,比如

    如果接收的内容过大,但是在解析时不能一次性的解析出来,需要分几部分进行解析,这是该做怎样的调整呢?

    我们会在下面的文章中进行学习!!!



  • 相关阅读:
    PHP5.5安装php-redis扩展
    表格行变换顺序功能(jquery)
    linux curl命令验证服务器断点续传支持
    Yii表单模型使用及以数组形式提交表单数据
    修改win8系统中启动管理器的系统引导信息
    tiny6410的QT4.7开发与移植
    VMware 6.5 下安装 Fedora 9
    格式字符串的输入输出
    linux C下多文件编译,以及Makefile的使用
    ARM学习——建立交叉编译环境
  • 原文地址:https://www.cnblogs.com/nsjelly/p/4314251.html
Copyright © 2011-2022 走看看