【iOS开发-网络】两种常用的方法解析XML数据
来源:互联网 发布:网络博客评级网站 编辑:程序博客网 时间:2024/05/17 21:52
解析XML数据常用的有两种方法
第一种
使用Google的GDataXMLNode解析XML数据
使用的是DOM方式解析
先把xml一口吞掉 然后一点一点的解析
第二种
使用苹果自带的NSXMLParser解析XML数据
使用的是SAX方式解析
一个标记一个标记的解析
第一种使用步骤
第一步
首先把GDataXML文件夹放入项目中
第二步
更改Bulid Setting里面的东西
更改头文件搜索路径
在Header Search Paths里面添加路径/usr/include/libxml2
在Other Linker Flags里面添加-lxml2
把GDataXMLNode.m文件改为非ARC环境
第三步引入头文件
#import "GDataXML/GDataXMLNode.h"
代码
//加载整个文档GDataXMLDocument *doc = [[GDataXMLDocument alloc] initWithData:data options:0 error:nil];//拿到跟元素GDataXMLElement *rootElement = doc.rootElement;//拿到所有的video元素NSArray *elements= [rootElement elementsForName:@"video"];//遍历数组for (GDataXMLElement *elem in elements) { Video *video = [[Video alloc] init]; video.ID = [elem attributeForName:@"id"].stringValue; video.length = [elem attributeForName:@"length"].stringValue; video.name = [elem attributeForName:@"name"].stringValue; video.image = [elem attributeForName:@"image"].stringValue; video.url = [elem attributeForName:@"url"].stringValue; [self.videos addObject:video];}
第二种解析的使用方法
这个方法是苹果提供的,需要设置代理方法
每当碰见一个标记的话就会调用代理方法
//创建解析器NSXMLParser *parser = [[NSXMLParser alloc] initWithData:data];//设置解析器的代理parser.delegate = self;//开始解析[parser parse];//这是一个同步操作
代理方法
/** * 解析到文档的开头时会调用 */- (void)parserDidStartDocument:(NSXMLParser *)parser{}/** * 解析到一个元素的开始就会调用 * * @param elementName 元素名称 * @param attributeDict 属性字典 */- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict{ if ([@"videos" isEqualToString:elementName]) return; HMVideo *video = [HMVideo videoWithDict:attributeDict]; [self.videos addObject:video];}/** * 解析到一个元素的结束就会调用 * * @param elementName 元素名称 */- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{}/** * 解析到文档的结尾时会调用(解析结束) */- (void)parserDidEndDocument:(NSXMLParser *)parser{}
0 0
- 【iOS开发-网络】两种常用的方法解析XML数据
- iOS开发网络篇—XML数据的解析
- iOS开发网络篇—XML数据的解析
- [iOS]XML两种解析方法
- ios解析xml的两种方法,NSXMLParser和第三方库GDataXMLNode还有json数据的解析
- Adroid开发之解析xml数据的两种方式
- XML数据解析的两种方法:SAX和DOM
- xml的两种解析方法
- 解析XML文件的两种方法
- iOS ——XML数据结构及其两种解析数据的方式SAX 、DOM
- iOS 通过URL网络获取XML数据的两种方式
- iOS 通过URL网络获取XML数据的两种方式
- IOS解析JSON的两种方法
- 两种XML解析方法
- IOS学习之十六:网络数据的XML解析
- IOS学习之十六:网络数据的XML解析 .
- IOS学习之十六:网络数据的XML解析
- IOS学习之十六:网络数据的XML解析
- Delphi XE8如何同Eclipse使用相同的Android SDK?
- installous下载ipa目录
- org.springframework.web.context.ContextLoaderListener
- leetcode--Construct Binary Tree from Inorder and Postorder Traversal
- Super Prime
- 【iOS开发-网络】两种常用的方法解析XML数据
- Ubuntu 字体设置:使用Windows 字体
- 黑马程序员————基本数据流、内存操作流、打印流、标准输入输出流、序列化、properties类
- mysql命令简述
- 理解JavaScript中的arguments,callee,caller,apply
- TRY THE MUSICAL PLAYER
- 嵌入式Linux系统启动过程
- 随机梯度下降(Stochastic gradient descent)和 批量梯度下降(Batch gradient descent )的公式对比、实现对比
- AWSome Day(上海站)参会记录