NSXMLParser(SAX解析)大文件解析
来源:互联网 发布:数据挖掘导论课后答案 编辑:程序博客网 时间:2024/06/05 07:44
NSXMLParser(SAX解析)大文件解析
- (void)viewDidLoad
{
[
[superviewDidLoad];
// 1.创建URL
NSURL *url =HMUrl(@"video?type=XML");
// 2.创建请求
NSURLRequest *request = [NSURLRequestrequestWithURL:url];
// 3.发送请求
[NSURLConnectionsendAsynchronousRequest:requestqueue:[NSOperationQueuemainQueue]completionHandler:^(NSURLResponse*response, NSData *data,NSError *connectionError) {
if (connectionError || data ==nil) {
[MBProgressHUDshowError:@"网络繁忙,请稍后再试!"];
return;
}
// 解析XML数据
// 1.创建XML解析器-- SAX --逐个元素往下解析
NSXMLParser *parser = [[NSXMLParseralloc]initWithData:data];
// 2.设置代理
parser.delegate= self;
// 3.开始解析(同步执行)
[parser parse];
// 4.刷新表格
[self.tableViewreloadData];
}];
}
#pragma mark - NSXMLParser的代理方法
/**
* 解析到文档的开头时会调用
*/
- (void)parserDidStartDocument:(NSXMLParser*)parser
{
// NSLog(@"parserDidStartDocument----");
}
/**
* 解析到一个元素的开始就会调用
*
* @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 = [HMVideovideoWithDict:attributeDict];
[self.videosaddObject:video];
}
/**
* 解析到一个元素的结束就会调用
*
* @param elementName 元素名称
*/
- (void)parser:(NSXMLParser*)parser didEndElement:(NSString*)elementName namespaceURI:(NSString*)namespaceURI qualifiedName:(NSString*)qName
{
// NSLog(@"didEndElement----%@", elementName);
}
/**
* 解析到文档的结尾时会调用(解析结束)
*/
- (void)parserDidEndDocument:(NSXMLParser*)parser
{
// NSLog(@"parserDidEndDocument----");
}
0 0
- NSXMLParser(SAX解析)大文件解析
- NSXMLParser(SAX解析)
- iphone NSXMLParser解析xml文件
- 使用NSXMLParser解析xml文件
- 使用NSXMLParser解析xml文件
- Excel大文件解析: Java POI SAX解析Excel 文件
- 利用NSXMLParser来解析xml文件
- ios-使用NSXMLParser解析XML文件
- iPhone开发 NSXMLParser解析xml文件
- iphone开发 NSXMLParser解析xml文件
- 使用SAX解析XML文件(SAX解析)
- xml文件解析-SAX
- sax解析xml文件
- SAX解析xml文件
- SAX解析XML文件
- SAX解析XML文件
- SAX解析XML文件
- SAX解析XML文件
- 数据仓库建模与ETL的实践技巧
- Android Studio快捷键设置 (实现原eclipse ctrl+m 代码全屏的效果)
- 算法题总结+解法
- MySQL日期时间函数大全
- 链表的建立和一些基本功能的实现
- NSXMLParser(SAX解析)大文件解析
- Easy way to buy cheap fut coins fifa 15 awfifame and cool?
- Win32 Dialog对话框处理WM_KEYDOWN事件
- 《数据结构》图存储遍历示例
- Ubuntu 14.04 搭建Android开发环境
- hadoop8-序列化
- Mergesort
- java Swing控件桌面程序 更换程序小图标
- poj1094贴一份TLE的代码,以后有可能再优化。