IOS数据解析

app开发数据格式:1.JSON 2.XML

我了解的情况是基本上都采用Json格式的数据,方便、灵巧

一、JSON解析
JSON解析相对于XML来说很简单,很早之前使用SBJSON解析,之后OC自带解析类,NSJSONSerialization

//获取文件路径
NSString *path = [[NSBundle mainBundle] pathForResource:@"ActivityList" ofType:@"txt"];
//将文件数据读入data中
NSData *data = [NSData dataWithContentsOfFile:path];
//用系统方法NSJSONSerialization解析,得出最外层的数据类型
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];

二、 XML解析
XML原本是使用在网页方面的;可变性使其不好解析的原因
一、什么是可扩展标记语言?
可扩展标记语言是一种很像超文本标记语言的标记语言。

  • 它的设计宗旨是传输数据,而不是显示数据。
    • ** 它的标签没有被预定义。您需要自行定义标签。--- 可变性** *
  • 它被设计为具有自我描述性。
  • 它是W3C的推荐标准。
    1、导入第三方解析工具:GDataXMLNode
    2、在工程中的Bulid Phases先添加libxml2.dylib动态库
    3、在工程中的build settings找到Header Search Path项,添加/usr/include/libxml2
//获取文件路径
NSString *path = [[NSBundle mainBundle] pathForResource:@"Cartoon" ofType:@"xml"];
//将文件数据读入data中
NSData *data = [NSData dataWithContentsOfFile:path];
//创建GDataXMLDocument对象,此时XML文件内所有节点以树的形式存在GDataXMLDocument
GDataXMLDocument *dom = [[GDataXMLDocument alloc] initWithData:data options:0 error:nil];
//获取根节点,根节点里面包含了XML得所有信息
GDataXMLElement *rootElement = dom.rootElement;
//    NSLog(@"rootElement-->%@",rootElement.name);
for (GDataXMLElement *subElement in rootElement.children) {
//        NSLog(@"subElement-->%@",subElement.name);
for (GDataXMLElement *child in subElement.children) {
//            NSLog(@"child--->%@",child.name);
Cartoon *cartoon = [[Cartoon alloc] init];
for (GDataXMLElement *subChild in child.children) {
[cartoon setValue:subChild.stringValue forKey:subChild.name];
//                NSLog(@"subChild-->>>>%@",subChild.name);
}

你可能感兴趣的:(IOS数据解析)