IOS XML解析之GDataXML

来源:互联网 发布:给淘宝差评怎么写 编辑:程序博客网 时间:2024/05/29 04:44

一、GDataXMLNode说明

GDataXMLNode是Google提供的用于XML数据处理的类集。该类集对libxml2–DOM处理方式进行了封装,能对较小或中等的xml文档进行读写操作且支持XPath语法。

使用方法:
1、获取GDataXMLNode.h/m文件,将GDataXMLNode.h/m文件添加到工程中
2、向工程中增加“libxml2.dylib”库
3、在工程的“Build Settings”页中找到“Header Search Path”项,添加/usr/include/libxml2”到路径中
4、添加“GDataXMLNode.h”文件到头文件中,如工程能编译通过,则说明GDataXMLNode添加成功
二、GDataXMLNode解析

-(NSArray *)parseXML:(NSString *)xmlName{   //使用NSBundle对象获取到需要解析的xml文档的路径   NSString *path = [[NSBundle mainBundle]pathForResource:xnlName ofType:@"XML"]];   //使用NSFileHandle对象根据文件路径获取到文件   NSFileHandle *file = [NSFileHandle fileHandleForReadingAtPath:path];   //读取文件内容返回NSData对象   GDataXMLDoucument *doc = [[GDataXMLDoucument alloc] initWithData:data];   //如果是要根据xml字符串来初始化CDataXMLDoucument对象,则调用如下代码//GDataXMLDoucument *doc = [[GDataXMLDoucument alloc] initWithXMLString:xmlStr options:0 error:nil];//获取跟元素,也就是获取<books.../>元素GDataXMLElement *rootElement = [doc rootElement];//获取rootElement下所有的<books.../>元素,返回所有<books.../>元素组成的集合NSArray *bookElements = [rootElement elementsForName:@"book"];//初始化一个可变数组,用于存储将要获取的所有<books.../>元素的内容NSMutableArray *books = [NSMutableArray new];//循环遍历每一个<books.../>元素for(GDataXMLElement *bokElement in bookElements){  //初始化FKBook数据模型对象  FKBook *book = [FKBook new];  //将获取的属性值和元素内容存储到FKBook对象的属性中  book.booID = [[[bokElement attributeForName:@"id"] stringValue] intergerValue];  //将每一个FKBook对象添加到可变数组中  [books addObject:book];} //返回数组return [books copy];}
0 0
原创粉丝点击