`
mmdev
  • 浏览: 12911489 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

NSXMLParser解析XML

 
阅读更多

通过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数据

    使用NSXMLParser解析XML数据的一个Demo

    ios xml解析 NSXMLParser

    ios xml解析 NSXMLParser。 NSXMLParser是基于SAX的解析方式。NSXMLParser采用了委托设计模式,因此他的实现类需要采用协议并支持委托。NSXMLParser解析XML需要委托NSXMLParserDelegate实现。

    iphone NSXMLParser

    代码例子(关于NSXMLParser 解析xml文件) xml 文件 通过NSXMLParser 解析成为数组 元素内容与属性可以获取到

    iphone Reachability NSConnection NSXMLParser

    Reachability 2.0版本,确认网络环境3G/WIFI 使用NSConnection下载数据 使用NSXMLParser解析xml文件

    Soap请求网络数据

    通过SOAP 网络请求数据,并使用NSXMLParser解析Xml

    ReactiveNSXMLParser:NSXMLParser的ReactiveCocoa扩展

    用于NSXMLParser的ReactiveCocoa扩展:一种简洁的,基于流的API,用于使用NSXMLParser解析XML。 围绕定义包装器,从而不再需要实现繁琐的委托方法。 应用所需的任何ReactiveCocoa魔术(请参阅 ): # import " ...

    ios-iOS xml解析.zip

    xml解析的两种常用方式, DOM解析:一次性将整个XML文档加载进内存,比较适合解析小文件,例如:GDataXml解析 ...SAX解析:从根元素开始,按顺序一个元素一个元素往下解析,比较适合解析大文件,例如:NSXMLParser解析

    SwiftRSSReader:使用Swift 2,Xcode 7,iOS 9构建RSS Reader演示应用程序

    Swift RSS阅读器使用Swift 2,Xcode 7和iOS 9构建RSS ... 使用NSXMLParser解析xml 。 将xml转换为基于swift的数组对象。 列出UITableView记录。 单击标题时,将显示详细信息页面。 详细信息页面将在UIWebView加载发布

    iOS开发中常见的解析XML的类库以及简要安装方法

    DOM解析XML时,读入整个XML文档并构建一个驻留内存的树结构(节点树),通过遍历树结构可以检索任意XML节点,读取它的属性和值。而且通常情况下,可以借助XPath,直接查询XML节点。 SAX解析XML,是基于事件通知的...

    iPhone编程解析xml

    本程序演示了如何连接浏览器,如何获取数据并解析xml文件。

    使用Swift实现iOS App中解析XML格式数据的教程

    主要介绍了使用Swift实现iOS App中解析XML格式数据的教程,讲到了iOS中提供的NSXMLParser和NSXMLParserDelegate两个API的用法,需要的朋友可以参考下

    iOSXML解析器SHXMLParser.zip

    SHXMLParser 是一个基于 NSXMLParser 构建的易用的 XML 解析器,可转换 XML 数据到 Objective-C 对象。 标签:SHXMLParser

    iOS开发使用XML解析网络数据

    前言:本篇随笔介绍的是XML解析。 正文: 1、XML解析方式有2两种: DOM:一次性将整个XML数据加载进内存进行解析,比较适合解析小文件SAX:从根元素开始,按顺序... 2-3、本人基于苹果原生NSXMLParser封装好的XML解析

    ios-XMLDictionary.zip

    xml转字典,采用系统NSXMLParser解析,轻轻松松一句代码完成xml转换字典操作

    在Swift中实现的简单XML解析器-Swift开发

    在Swift中实现的简单XML解析器这是什么? 这是一个受SwiftyJSON和SWXMLHash启发的XML解析器。 Foundation框架中的NSXMLParser是一种“ SAX”解析器。 它具有足够的性能,但是在Swift中实现了一点inc Simple XML ...

    iphone中xml的解析demo

    使用iphoneSDK官方NSXMLParserDelegate做的简单xml解析,附带详细注释以及使用到的方法的详细解释,灰常适合新手,高手请留下你们的改进意见。

    Objective-c对象组装XML

    NSXMLParser *xmlRead = [[NSXMLParser alloc] initWithData:xmlData]; [xmlRead setDelegate:self]; [xmlRead parse]; [xmlRead release]; //get dataTemplate for (int i=0;i&lt;[objects count]; i++) { ...

    SWXMLHash:Swift中的简单XML解析

    SWXML哈希 SWXMLHash是在Swift中解析XML的相对简单的方法。 如果您熟悉NSXMLParser ,则此库是围绕它的简单包装。 从概念上讲,它提供了从XML到数组字典(又名哈希)的转换。 该API从中获得了很多启发。内容要求iOS ...

    swift-xml-parser-example:Swift XML解析器

    SwiftXMLParserExample如何使用Cocoa库中的NSXMLParser在Swift中解析XML的示例已针对Swift 2.0和Xcode7-Beta2更新这是用Swift编写的XML解析器的工作示例,但是使用Cocoa API来处理繁重的工作。 它部分基于Apple自己...

Global site tag (gtag.js) - Google Analytics