通过ios自带的NSXMLParser来解析,效率比较慢,不推荐使用,这里只记录一下解析方法。
1。新建util类,实现NSXMLParserDelegate协议,(解析时候回调使用)
@interface MyXMLParseUtil :NSObject<NSXMLParserDelegate>
-(void) parseXML;
2.使用NSXMLParser来读取制定xml,可以是rul,或是本地文件
-(void) parseXML{
/*
//这一句是读取web的xml,
NSString *address = @"http://data.3g.sina.com.cn/api/index.php?page=1&test=1&wm=b100&cid=43";
NSURL * url = [[NSURL alloc] initWithString:address];
NSData *data = [[NSData alloc] initWithContentsOfURL:url];
/*/
//读取本地xml
NSString *path = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"xml"];
NSData *data = [[NSData alloc] initWithContentsOfFile:path];
//*/
NSLog(@"data: %@",data);
NSXMLParser *m_parser = [[NSXMLParser alloc] initWithData:data];
//设置该类本身为代理类,即该类在声明时要实现NSXMLParserDelegate委托协议
[m_parser setDelegate:self]; //设置代理为本地
BOOL flag = [m_parser parse]; //开始解析
if(flag) {
NSLog(@"获取指定路径的xml文件成功");
}else{
NSLog(@"获取指定路径的xml文件失败");
}
}
3.重写NSXMLParserDelegate相应的方法来解析xml,这里简单说些比较重要的方法:
- (void)parserDidStartDocument:(NSXMLParser *)parser{ //开始解析调用
NSLog(@"...parserDidStartDocument...");
}
- (void)parserDidEndDocument:(NSXMLParser *)parser{ //结束解析调用
NSLog(@"...parserDidEndDocument...");
}
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict{ //遇到start tag调用
NSLog(@"...parser:didStartElement:namespaceURI:qualifiedName:attributes:...");
}
分享到:
相关推荐
使用NSXMLParser解析XML数据的一个Demo
ios xml解析 NSXMLParser。 NSXMLParser是基于SAX的解析方式。NSXMLParser采用了委托设计模式,因此他的实现类需要采用协议并支持委托。NSXMLParser解析XML需要委托NSXMLParserDelegate实现。
代码例子(关于NSXMLParser 解析xml文件) xml 文件 通过NSXMLParser 解析成为数组 元素内容与属性可以获取到
Reachability 2.0版本,确认网络环境3G/WIFI 使用NSConnection下载数据 使用NSXMLParser解析xml文件
通过SOAP 网络请求数据,并使用NSXMLParser解析Xml
用于NSXMLParser的ReactiveCocoa扩展:一种简洁的,基于流的API,用于使用NSXMLParser解析XML。 围绕定义包装器,从而不再需要实现繁琐的委托方法。 应用所需的任何ReactiveCocoa魔术(请参阅 ): # import " ...
xml解析的两种常用方式, DOM解析:一次性将整个XML文档加载进内存,比较适合解析小文件,例如:GDataXml解析 ...SAX解析:从根元素开始,按顺序一个元素一个元素往下解析,比较适合解析大文件,例如:NSXMLParser解析
Swift RSS阅读器使用Swift 2,Xcode 7和iOS 9构建RSS ... 使用NSXMLParser解析xml 。 将xml转换为基于swift的数组对象。 列出UITableView记录。 单击标题时,将显示详细信息页面。 详细信息页面将在UIWebView加载发布
DOM解析XML时,读入整个XML文档并构建一个驻留内存的树结构(节点树),通过遍历树结构可以检索任意XML节点,读取它的属性和值。而且通常情况下,可以借助XPath,直接查询XML节点。 SAX解析XML,是基于事件通知的...
本程序演示了如何连接浏览器,如何获取数据并解析xml文件。
主要介绍了使用Swift实现iOS App中解析XML格式数据的教程,讲到了iOS中提供的NSXMLParser和NSXMLParserDelegate两个API的用法,需要的朋友可以参考下
SHXMLParser 是一个基于 NSXMLParser 构建的易用的 XML 解析器,可转换 XML 数据到 Objective-C 对象。 标签:SHXMLParser
前言:本篇随笔介绍的是XML解析。 正文: 1、XML解析方式有2两种: DOM:一次性将整个XML数据加载进内存进行解析,比较适合解析小文件SAX:从根元素开始,按顺序... 2-3、本人基于苹果原生NSXMLParser封装好的XML解析
xml转字典,采用系统NSXMLParser解析,轻轻松松一句代码完成xml转换字典操作
在Swift中实现的简单XML解析器这是什么? 这是一个受SwiftyJSON和SWXMLHash启发的XML解析器。 Foundation框架中的NSXMLParser是一种“ SAX”解析器。 它具有足够的性能,但是在Swift中实现了一点inc Simple XML ...
使用iphoneSDK官方NSXMLParserDelegate做的简单xml解析,附带详细注释以及使用到的方法的详细解释,灰常适合新手,高手请留下你们的改进意见。
NSXMLParser *xmlRead = [[NSXMLParser alloc] initWithData:xmlData]; [xmlRead setDelegate:self]; [xmlRead parse]; [xmlRead release]; //get dataTemplate for (int i=0;i<[objects count]; i++) { ...
SWXML哈希 SWXMLHash是在Swift中解析XML的相对简单的方法。 如果您熟悉NSXMLParser ,则此库是围绕它的简单包装。 从概念上讲,它提供了从XML到数组字典(又名哈希)的转换。 该API从中获得了很多启发。内容要求iOS ...
SwiftXMLParserExample如何使用Cocoa库中的NSXMLParser在Swift中解析XML的示例已针对Swift 2.0和Xcode7-Beta2更新这是用Swift编写的XML解析器的工作示例,但是使用Cocoa API来处理繁重的工作。 它部分基于Apple自己...