IOS 中 JSON 和 XML 解析

来源:互联网 发布:linux 文本全部删除 编辑:程序博客网 时间:2024/06/05 17:50

JSON


将JSON解析为一个字典

NSString *path = [[NSBundle mainBundle]pathForResource:@"test" ofType:@"json"];    NSData *data = [NSData dataWithContentsOfFile:path];        //字典解析对象,将json数据解析为字典格式    NSDictionary *dicRoot =[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];


SBJsonParser   JSON数据解析类

objectWithString  解析字符串数据

NSJSONSerialization  IOSJSON解析类

JSONObjectWithData  :通过二进制解析数据








XML(可扩展标记语言,其宗旨是传输数据,其结构和HTML相类似)

XPath有其中节点:元素、属性、文本、命名空间、处理指令、注释、文档节点(根节点)

:从根节点选取

// :从当前的位置开始去选择

. :选取当前的节点

.. :选取当前节点的父节点

@ :选取属性

需要导入一个叫做GDataXMLNode的第三方库并且配置好开发环境

 //获取解析文件的全路径    NSString *path = [[NSBundle mainBundle] pathForResource:@"cd_catalog" ofType:@"xml"];    NSData *dataXML = [NSData dataWithContentsOfFile:path];    //NSLog(@"dataXML = %@",dataXML);    //创建XML文档对象    NSError *error = nil;    GDataXMLDocument *docXML = [[GDataXMLDocument alloc] initWithData:dataXML options:0 error:&error];    NSLog(@"error = %@",error);    //NSLog(@"docXML = %@",docXML);    GDataXMLElement *elemRoot = [docXML rootElement];    //NSLog(@"eleRoot = %@",elemRoot);    NSArray *arrCount = [elemRoot elementsForName:@"CD"];//搜索出所有的叫ID的元素,将所有对象添加到数组里面返回    //NSLog(@"arrCount = %@",arrCount);


GDataXMLDocument 表示获取XML文档对象
GDataXMLElement  表示获取XML元素对象


以及获取节点

[elementCount elementsForName:@"TITLE"]

获取节点的字符串

[mTitle stringValue]

原创粉丝点击