IOS XML解析之GDataXML

本文介绍如何使用GDataXMLNode类集进行XML数据处理,包括获取、解析、存储和操作XML文档的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、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];
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值