解析:就是按照约定好的格式去提取数据的过程。后台人员按照约定好的格式去存入数据,而前端开发人员再以约定好的格式去读取数据。
目前主流的两种数据格式是JSON 和 XML,其中又以JSON使用为主。
XML又分为SAX解析和DOM解析
SAX解析是基于事件回调解析机制进行逐行解析,效率较低,但是适合大数据的解析。一般使用系统提供的NSXMLParser类进行解析
此处清空数组元素是因为将解析方法写到了button的点击事件中,如果不将数组清空的话,再次点击button会将再次解析的数据呈现出来,造成重复显示
XML解析需使用代理,其常用方法是以下几种:
<helloworld>是XML数据中的开始标签,数据是从此处开始读取 (注:XML数据中第一行是版本号和编码方式,必须放在第一行顶格写,不然读取不到数据)
DOM解析是把解析数据一下全部读入内存,之后再初始化成树形结构,逐层进行解析,效率较高,但是不适合大数据的解析。一般使用谷歌提供的第三方类GDataXMLNode进行数据解析。
DOM解析是由Google提供的一个开源的基于C语言的libxml2.dylib动态的链接库进行封装而成的为OC对XML进行解析的类
其使用时应先进行以下两步的操作
DOM解析又分为两种方式,但是解析的前三步是相同的是:
在将解析的内容写入GDataXMLDocument这一步中options是无符号整型数据,此处给了个0;清空数据源的原因同SAX解析
DOM解析的第一种方式是先获取根节点,再根据根节点获取子节点,再对子节点进行遍历获取子节点下的所有元素
DOM的第二种方式是一下获取全部同名称的节点下的所有元素
JSON(Javascript Object Notation)解析 轻量级的数据交换格式,采用完全独立于语言的文本格式,被称为理想的数据交换语言
JSON文档有两种结构:对象和数组
其中对象类似于OC中的字典,数组类似于OC中的数组 只是其中的元素字符串前不加@
JSON解析可以使用系统提供的类NSJSONSerialization进行解析,也可以使用第三方类进行解析
系统的解析方法是
注:清空数据源原因同SAX解析
使用第三方类解析 此处使用的是JSONKit 又可以分为两种方式
第一种方式是根据路径初始化为字符串对象 再解析成OC对象
第二种方式是根据文件路径初始化为NSData对象