GDataXMLNode解析xml数据的简单应用
2015-09-25 08:58
751 查看
利用第三方工具解析xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<status>OK</status>
<categories>
<category_name>购物</category_name>
<subcategories>生活家居</subcategories>
<subcategories>服饰鞋包</subcategories>
<subcategories>食品饮料</subcategories>
<subcategories>钟表眼镜</subcategories>
<subcategories>水果生鲜</subcategories>
<subcategories>母婴用品</subcategories>
<subcategories>数码家电</subcategories>
<subcategories>影音书刊</subcategories>
<subcategories>个护化妆</subcategories>
<subcategories>珠宝饰品</subcategories>
</categories>
<categories>
<category_name>休闲娱乐</category_name>
<subcategories>运动健身</subcategories>
<subcategories>酒吧</subcategories>
<subcategories>私人影院</subcategories>
<subcategories>KTV</subcategories>
<subcategories>游乐游艺</subcategories>
<subcategories>温泉/浴场</subcategories>
<subcategories>演出/赛事/展览</subcategories>
<subcategories>公园</subcategories>
<subcategories>桌游/密室</subcategories>
<subcategories>DIY手工</subcategories>
<subcategories>足疗按摩</subcategories>
<subcategories>景点郊游</subcategories>
<subcategories>咖啡厅</subcategories>
<subcategories>茶馆</subcategories>
</categories>
</root>
以上是一个简单 的xml文件
GDataXMLNode使用方法:
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<status>OK</status>
<categories>
<category_name>购物</category_name>
<subcategories>生活家居</subcategories>
<subcategories>服饰鞋包</subcategories>
<subcategories>食品饮料</subcategories>
<subcategories>钟表眼镜</subcategories>
<subcategories>水果生鲜</subcategories>
<subcategories>母婴用品</subcategories>
<subcategories>数码家电</subcategories>
<subcategories>影音书刊</subcategories>
<subcategories>个护化妆</subcategories>
<subcategories>珠宝饰品</subcategories>
</categories>
<categories>
<category_name>休闲娱乐</category_name>
<subcategories>运动健身</subcategories>
<subcategories>酒吧</subcategories>
<subcategories>私人影院</subcategories>
<subcategories>KTV</subcategories>
<subcategories>游乐游艺</subcategories>
<subcategories>温泉/浴场</subcategories>
<subcategories>演出/赛事/展览</subcategories>
<subcategories>公园</subcategories>
<subcategories>桌游/密室</subcategories>
<subcategories>DIY手工</subcategories>
<subcategories>足疗按摩</subcategories>
<subcategories>景点郊游</subcategories>
<subcategories>咖啡厅</subcategories>
<subcategories>茶馆</subcategories>
</categories>
</root>
以上是一个简单 的xml文件
GDataXMLNode使用方法:
// xml解析 - (NSArray *)readDataOfXML { NSString *path = [[NSBundle mainBundle] pathForResource:@"Categories" ofType:@"xml"]; NSData *xmlData = [NSData dataWithContentsOfFile:path]; //使用NSData对象初始化 GDataXMLDocument *doc = [[GDataXMLDocument alloc] initWithData:xmlData options:0 error:nil]; // 获取根节点 root GDataXMLElement *rootElement = [doc rootElement]; //获取根节点下的节点(categories) NSArray *categories = [rootElement elementsForName:@"categories"]; NSMutableArray *categoryArray = [NSMutableArray array]; NSMutableDictionary *dataDic = [NSMutableDictionary dictionary]; // 遍历数组 for (GDataXMLElement *element in categories) { // 子节点数组中的第一个就是category_name 拿出来 作为字典的key GDataXMLElement *nameElement = [[element elementsForName:@"category_name"] objectAtIndex:0]; NSString *category_name = [nameElement stringValue]; // NSLog(@"%@", category_name); [categoryArray addObject:category_name]; // 获取所有subcategories的子节点 NSArray *array = [element elementsForName:@"subcategories"]; NSMutableArray *tempArray = [NSMutableArray array]; // 遍历array 取得对应的值 for (GDataXMLElement *elem in array) { NSString *str = [elem stringValue]; [tempArray addObject:str]; } [dataDic setObject:tempArray forKey:category_name]; } NSArray *arr = @[categoryArray, dataDic]; return arr; }
相关文章推荐
- 如何获得rac环境中的主节点(how to identify master node in rac)
- SSM+Nodejs
- 在eclipse上开发nodejs
- Inode 无空闲
- node.js之服务器如何处理请求
- [LeetCode]Swap Nodes in Pairs
- node.js 基于事件驱动的回调
- 理解inode
- 游戏中 ClippingNode 实现 标题划过的光效 (C++)
- 模拟namenode挂掉利用secondary namenode恢复
- nodejs async
- LightOJ 1094 - Farthest Nodes in a Tree【树的直径】
- node.js 使用forever守护进程
- LintCode "Route Between Two Nodes in Graph"
- nodejs抓取别人家的页面的始末
- Node-red catch节点
- nodejs、npm、grunt——名词解释
- node.js基础教程
- LeetCode(49) Populating Next Right Pointers in Each Node I II
- mac使用nvm安装node进行多版本管理