NSXMLParser(SAX解析)大文件解析

NSXMLParser(SAX解析)大文件解析

- (void)viewDidLoad

{

[

{

[super
viewDidLoad];

// 1.创建URL

NSURL *url =
HMUrl(@"video?type=XML");

// 2.创建请求

NSURLRequest *request = [NSURLRequest
requestWithURL:url];

// 3.发送请求

[NSURLConnection
sendAsynchronousRequest:request
queue:[NSOperationQueue
mainQueue]
completionHandler:^(NSURLResponse
*response,
NSData *data,

NSError *connectionError) {

if (connectionError || data ==

nil) {

[MBProgressHUD
showError:@"网络繁忙,请稍后再试!"];

return;

}

//
解析XML数据

// 1.创建XML解析器
-- SAX --
逐个元素往下解析

NSXMLParser *parser = [[NSXMLParser
alloc]
initWithData:data];

// 2.设置代理

parser.delegate
=
self;

// 3.开始解析(同步执行)

[parser
parse];

// 4.刷新表格

[self.tableView
reloadData];

}];

}

#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 = [HMVideo
videoWithDict:attributeDict];

[self.videos
addObject: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----");

}

时间: 2024-10-24 15:39:30

NSXMLParser(SAX解析)大文件解析的相关文章

(转)AVI文件格式解析+AVI文件解析工具

AVI文件解析工具下载地址:http://download.csdn.net/detail/zjq634359531/7556659 AVI(Audio Video Interleaved的缩写)是一种RIFF(Resource Interchange File Format的缩写)文件格式,多用于音视频捕捉.编辑.回放等应用程序中.通常情况下,一个AVI文件可以包含多个不同类型的媒体流(典型的情况下有一个音频流和一个视频流),不过含有单一音频流或单一视频流的AVI文件也是合法的.AVI可以算是

Android多线程下载大文件解析

1.多线程介绍 用过迅雷的同学都知道.迅雷有个功能叫做多线程.另一个叫离线下载,我们这里重点介绍一下多线程下载.多线程,顾名思义就是非常多歌线程同一时候在执行,为什么要提出多线程这个概念呢?由于有时候一个线程下载太慢了.举个样例,比方小时候常做的数学题,一个人挖沟须要15天,那么两个人对着挖呢? 当然数学题上面两个人的效率是不一样的,我们这里把这个问题简化了一下.仅仅是想大家明确,什么是多线程,为什么有多线程. 在多线程上出现过一个问题,为什么有要提出多线程?事实上提出多线程是为了充分利用CPU

excel 大文件解析原理实现

问题 目前的excel 不像之前的excel了可以支持的数据量更大,可以支持支持1048576行,16384列. 之前使用poi读取,直接报错,使用excel 事件的方式读取,还有不少的bug,关键是程序写的很复杂. 解决方案 我们知道excel 文件实际上是一个压缩包来的,我们将excel 直接改名为rar或zip文件. 我们可以将文件解压出来. 我们可以看到excel 实际上是一堆xml文件的集合. worksheets 中实际存了 这个excel的sheets数据. 但是excel 在存数

PDFBox 解析PDF文件-解析服务器文件

1.首先引进pom <!-- PDF读取依赖 --><dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox</artifactId> <version>2.0.4</version></dependency> 2.controller层直接代码 /** * PDF解析 * @return */@PostMapping(

NSURLSession(Get &amp; Post,JSON、XML数据解析,文件上传下载)

NSURLSession(Get & Post,JSON.XML数据解析,文件上传下载) 一.NSURLSession概述 NSURLSession是iOS7中新的网络接口,支持后台网络操作,除非用户强行关闭. NSURLSession使用步骤: 1. 新建NSURLSessionConfiguration,用于NSURLSession的配置 2. 新建NSURLSession 3. 新建NSURLSessionTask对象 4. 执行task 其中NSURLSessionConfigurati

iOS网络编程开发—JSON解析与XML解析

一.什么是JSON JSON是一种轻量级的数据格式,一般用于数据交互 服务器返回给客户端的数据,一般都是JSON格式或者XML格式(文件下载除外) JSON的格式很像OC中的字典和数组 {"name" : "jack", "age" : 10} {"names" : ["jack", "rose", "jim"]} 标准JSON格式的注意点:key必须用双引号 要想从

java处理excel-xlsx格式大文件的解决方案

1.第一次读取7M左右的ecxel文件,使用poi 库实现,参考了下面的博文. http://www.cnblogs.com/chenfool/p/3632642.html 使用上面的方法在 下面WorkbookFactory.create()这里会出现内存溢出的错误,将eclipse的参数调整为-Xmx3072m,仍然会出现这个错误. fis = new FileInputStream(file); book = WorkbookFactory.create(fis); 应该是因为上面的方法使

Node大文件处理

之前有个需求要将文件解析再处理,当时直接将整个文件内容读到内存中然后解析,也是没有考虑到大文件的问题,那么要如何解析大文件呢? 输入:文件的内容是多个json,按顺序排列 输出:解析后的json数据 代码: 1 let fs = require('fs'); 2 3 let log = (str) => { console.log(`${new Date().toLocaleString()} ${str}`); }; 4 5 let readStream = fs.createReadStre

POI以SAX方式解析Excel2007大文件(包含空单元格的处理) Java生成CSV文件实例详解

http://blog.csdn.net/l081307114/article/details/46009015 http://www.cnblogs.com/dreammyle/p/5458280.html . Office2007与Office Open XML 在Office 2007之前,Office一直都是以二进制位的方式存储,但这种格式不易被其它软件拿来使用,在各界的压力下,MicroSoft于2005年发布了基于XML的ooxml开放文档标准.ooxml的xml schema强调减