XML数据解析(GDataXMLNode的使用)
2016-01-27 11:31
295 查看
一、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添加成功
二、代码示例:
#import <Foundation/Foundation.h> #import "GDataXMLNode.h" #define USE_NET #ifdef USE_NET //网络文件 #define PATH @"http:/XXX/xmlFile/BookXml.txt" #else //本地文件 #define PATH @"/Users/Public/xmlFile/BookXml.txt" #endif int main(int argc, const char * argv[]) { @autoreleasepool { //1、读取XML文件内容 #ifdef USE_NET NSURL *url = [NSURL URLWithString:PATH]; NSData *data = [NSData dataWithContentsOfURL:url]; #else NSData *data = [NSData dataWithContentsOfFile:PATH]; #endif //2、创建文档树 GDataXMLDocument *doc = [[GDataXMLDocument alloc] initWithData:data options:0 error:nil]; //3、获取根元素(节点) GDataXMLElement *root = [doc rootElement]; //4、获取根元素的所有子元素 NSArray *ary = [root children]; //5、提取books元素 GDataXMLElement *books = ary[0]; //6、获取books的所有子元素 NSArray *bookElements = [books children]; //7、遍历数组,解析每个元素 for (GDataXMLElement *ele in bookElements) { //获取name元素 NSArray *nameAry = [ele elementsForName:@"name"]; NSLog(@"%@:%@\n", [nameAry[0] name],[nameAry[0] stringValue]); //获取id属性节点 GDataXMLNode *idNode = [ele attributeForName:@"id"]; NSLog(@"%@", [idNode stringValue]); //封装数据模型 //创建对象,填充数据 //保存到数组 } } return 0; }
相关文章推荐
- Node.js 项目搭建
- 学习Express之创建并运行express-demo
- node.js 学习记录(一)安装
- nodejs 周操作
- Nodejs学习总结
- 爬虫: 基于Node.js的强大爬虫,能直接发布抓取的文章哦
- [leetcode]Populating Next Right Pointers in Each Node
- Node.Js 1
- 精灵批处理类CCSpriteBatchNode
- Node,js 中的Promise
- 几个免费的nodejs空间
- NodeJs应用场景【学习路线图】
- 19. Remove Nth Node From End of List
- Hadoop namenode无法启动
- node.js REPL
- nodejs 中的 NODE_PATH
- nodejs事件
- [转]nodejs npm常用命令
- 格式化 namenode 时出现的 WARN
- Node.js 学习(六)Node.js EventEmitter