解析:从事先规定好的格式中提取数据
解析的前提:提前约定好格式、数据提供方按照格式提供数据、数据获取方则按照格式获取数据
XML数据结构:
概念:Extensible Markup language (可扩展标记语言),主流数据格式之一,可以用来存储和传输数据。
功能:1,数据交换 2,内存管理 3,用做配置文件
语法:1,声明 2,节点使用一对标签表示。起始和结束标签。
3,根节点是起始节点,只有一个。节点可以嵌套。
4,节点可以有值。存储在一对儿标签中。
(一)SAX解析:
SAX:Simple API for XML。基于事件驱动的解析⽅方式,逐⾏行解析数据。(采用协议回调机制)—
利用
NSXMLParser类
1,NSXMLParser是iOS⾃自带的XML解析类。采⽤用SAX⽅方式解析数据。
2,解析过程由
NSXMLParserDelegate协议⽅方法回调
3,解析过程:开始标签->取值->结束标签->取值
(二)DOM解析:
DOM:Document Object Model(⽂文档对象模型)。解析时需要将XML⽂文件整体读入,并且将XML结构化成树状,使⽤用时再通过树状结构读取相关数据
利用第三方GDataXMLNode
1,GDataXMLNode是Google提供的开源XML解析类,
libxml2.dylib进行了Objective
-C的封装,
2,OS 中包含一个 C 语⾔言的动态链接库 libxml2.dylib ,解析速度⽐比 NSXMLParser 快
JSON数据结构:
概念:Javascript Object Notation,轻量级的数据交换格式,采用完全独⽴立于语言的文本格式,被称为理想的数据交换语⾔。
功能:1,数据交换 2,内存管理 3,配置文件
语法:1,JSON文档有两种:对象、数据
2,对象:以 “ {“ 开始,以 ”}” 结束,中间是数据。数据以 “ ,” 分隔。
3,JSON中的数据类型:字符串、数值、BOOL、对象、数组
(一)利用系统Foundation解析:
NSJSONSerialization
[
NSJSONSerialization
JSONObjectWithData
:data
options
:(
NSJSONReadingAllowFragments
)
error
:
nil
]
];
(二)利用第三方JSONKit解析:
[d
objectFromJSONData
]