加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

第十五讲:XML、JSON数据结构解析

发布时间:2020-12-16 09:24:32 所属栏目:百科 来源:网络整理
导读:本讲内容 一、解析的基本概念 二、 XML 数据结构 三、 JSON 数据结构 四、 XML 与 JSON 两种数据结构的优缺点 五、进?行 XML 数据结构解析时使?用到的 SAX ?工具, DOM ?工具 六、进?行 JSON 数据结构解析时使?用到的第三?方框架 一、解析的基本概念 解析的概

本讲内容


一、解析的基本概念

二、XML数据结构

三、JSON数据结构

四、XMLJSON两种数据结构的优缺点

五、进?行XML数据结构解析时使?用到的SAX?工具,DOM?工具

六、进?行JSON数据结构解析时使?用到的第三?方框架



一、解析的基本概念


解析的概念

所谓解析:从事先规定好的格式中提取数据解析的前提:提前约定好格式、数据提供?方按照格式提供数据、

数据获取?方则按照格式获取数据iOS开发常?见的解析:XML解析、JSON解析



二、XML数据结构


XML基本概念

XML:Extensible Markup language(可扩展标记语?言),主流数据格式之?一,可以?用来存储和传输数据。



XML数据格式的功能

数据交换 内容管理 ?用作配置?文件 


XML数据结构的语法

声明 节点使?用?一对标签表?示。起始和结束标签。 根节点是起始节点,只有?一个。节点可以嵌套。 节点可以有值。存储在?一对?儿标签中。 


?示例


?示例


三、进?行XML解析时使?用到的SAX?工具


SAX解析

SAX:Simple API for XML。基于事件驱动的解析?方式,逐?行解析数据。(采?用协议回调机制)



NSXMLParser

NSXMLParseriOS?自带的XML解析类。采?用SAX?方式解析数据。

解析过程由NSXMLParserDelegate协议?方法回调

解析过程:开始标签->取值->结束标签->取值代码演?示



四、进?行XML解析时使?用到的DOM?工具


DOM解析
DOM:Document Object Model(?文档对象模型)。解析时需要

XML?文件整体读?入,并且将XML结构化成树状,使?用时再通过树状结构读取相关数据



GDataXMLNodeGDataXMLNodeGoogle提供的开源XML解析类,对

libxml2.dylib进?行了Objective-C的封装

采?用DOM?方式解析数据

iOS中包含?一个C语?言的动态链接库libxml2.dylib,解析速度?比NSXMLParser

代码演?示



五、JSON数据结构


JSON数据结构的概念

Javascript Object Notation,轻量级的数据交换格式,采?用完全独?立于语?言的?文本格式,被称为理想的数据交换语?言



JSON数据结构的语法JSON?文档有两种结构:对象、数据

对象:以{开始,以}结束,是名称/对?儿的集合。名称和值中间?用:隔开。多个名称/对之间?用,隔开。类似OC中的字典。

数组:以[开始,以]结束,中间是数据。数据以,分隔。JSON中的数据类型:字符串、数值、BOOL、对象、数组。



示例


JSON数据结构的功能

数据交换 内容管理 配置?文件 


六、使?用Foundation进?行JSON解析


NSJSONSerializationNSJSONSerialization对象的作?用



七、使?用JSONKit进?行JSON解析


使?用JSONKit

JSONDecoder对象的作?

NSString(JSONKitDeserializing)类目的作?

NSData(JSONKitDeserializing)类目的作?

NSString(JSONKitSerializing)类目的作?

NSArray(JSONKitSerializing)类目的作用

NSDictionary(JSONKitSerializing)类目的作用



总结数据解析:从某种格式的数据中提取?自?己所需要的数据。

主流的数据交换格式有两种:XMLJSONXML解析分为两种:SAX解析和DOM解析XML解析?工具:NSXMLParserGDataXMLNodeTochXMLKissXML

JSON解析?工具:JSONKitNSJSONSerializationTouchJSONSBJSON等,其中NSJSONSerialization是系统提供的解析类,其解析效率是最?高的



课程预告

HTTP协议的概念HTTP协议的常?见请求?方式iOS平台如何实现HTTP协议请求

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读