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解析就进行完了.当然如果遇到更复杂的内容时,里面还有许多的问题,比如

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

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



  • 相关阅读:
    成为高级Java工程师,你必须要看的技术书籍
    MYSQL存储引擎介绍--应用场景
    RocketMq的安装使用
    调用第三方物流公司API即时查询物流信息
    移动终端处理器构成和基带芯片概述
    数据库水平切分(拆库拆表)的实现原理
    使用TortoiseGit操作分支的创建与合并
    mysql安装教程
    初步认识dubbo--小案例
    【算法】混合流体模拟demo
  • 原文地址:https://www.cnblogs.com/nsjelly/p/4314251.html
Copyright © 2011-2022 走看看