您的位置:首页 > 移动开发 > IOS开发

数据解析

2016-01-11 17:28 393 查看
json和xml

开发中出现频率:json 95%   xml 5%

json(对于xml)  轻便,在服务器到客服端传输速率高,信息的冗余(没有必要的重复)低  ,缺点就是可读性低(但是可以通过第三方的工具解决)

xml(对于json)可读性      缺点:信息的冗余度高,在服务器到客服端传输速率低

xml解析

常见:plist文件,XIB,网易新闻,新浪新闻

解析xml常用库:GData (第三类)

整个xml文件可以看成一个树

<root > </root>   <book   id="1" language="ch"> </book>  这些东西在xml中叫节点,xml文件中的第一个节点就根节点  , id和language叫节点属性

一.如何使用GData

底层使用系统的libxml2库, 使用的时候添加libxml2

(1)导入GData库

(2)设置头文件搜索路径  

Build Setting--->header  search Paths

双击后,点加号

添加   /usr/include/libxml2

//libxml2是系统库,需要到系统的目录下找到。

(3)添加libxml二进制库

Build Phases ---> Link Binary

添加
libxml2.dylib

(4)如果是arc的工程

Build Phases ---> Compile Source File

GDataXmlNode.m
禁止ARC:   -fno-objc-arc

二.常用方法

GDataXMLNode

//获取当前节点的值

- (NSString *)stringValue;

//获取当前节点子子节点的个数

- (NSUInteger)childCount;

//获取子节点数组

- (NSArray *)children;

//根据索引获取子节点

- (GDataXMLNode *)childAtIndex:(unsigned)index;

GDataXMLElement : GDataXMLNode

//根据子节点名字获取所有的节点名为name的子节点数组

- (NSArray *)elementsForName:(NSString *)name;

//获取节点的属性

- (NSArray *)attributes;

//根据属性名获取属性节点

- (GDataXMLNode *)attributeForName:(NSString *)name;

GDataXMLDocument
//XML节点树

//创建文档节点

- (id)initWithData:(NSData *)data options:(unsigned
int)mask error:(NSError **)error;

//获取跟节点

- (GDataXMLElement *)rootElement;

//根据xpath 语法 获取 指定的节点数组

- (NSArray *)nodesForXPath:(NSString *)xpath error:(NSError **)error;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios 数据