`
ytwhw
  • 浏览: 98166 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

IOS中XML解析之NSXMLParser

阅读更多
NSXMLParser解析XML数据 用法如下:
一、首先,必须继承NSXMLParserDelegate协议 
@interface ViewController : UIViewController<NSXMLParserDelegate> 
二、设置XML数据,并初始化NSXMLParser: 
1、从本地XML文件中读取数据 
NSString *strPathXml = [[NSBundle mainBundle] pathForResource:@"group" ofType:@"xml"]; 
NSData *xmlData = [[NSData alloc] initWithContentsOfFile:strPathXml];
NSXMLParser *parserXML = [[NSXMLParser alloc] initWithData:xmlData]; 
[parser setShouldProcessNamespaces:NO]; 
[parser setShouldReportNamespacePrefixes:NO]; 
[parser setShouldResolveExternalEntities:NO]; 
[parser setDelegate:self]; 
[parser parse]; 
[parser release]; 
2、从接口Java Servlet中获取数据 
NSString *nstrYwKPIUrl = [[NSString alloc]initWithFormat:@"%@?citys=%@&startTime=%@&endTime=%@&indexNames=%@",YWKPIURL,city,startTime,endTime,zbz]; 
//Servlet访问地址与传递参数 
NSString *encodedURL = [nstrYwKPIUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
//对Servlet访问地址进行编码 
NSLog(@"encodedURL is %@",encodedURL); 
NSXMLParser *parser = [[NSXMLParser alloc] initWithContentsOfURL:[NSURL URLWithString:encodedURL ]]; 
[parser setShouldProcessNamespaces:NO]; 
[parser setShouldReportNamespacePrefixes:NO]; 
[parser setShouldResolveExternalEntities:NO]; 
parser.delegate = self; 
[parser parse]; 
[parser release];
三、解析XML数据 
1、遍例xml的节点,执行以下代理方法 
-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict { 
xmlelement = [[NSString alloc]initWithString:elementName];
 //xmlelement为XML元素节点(xmlelement为字符串变量,是在.h文件中定义的。) 
} 
2、当xml节点有值时,则执行以下代理方法 
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {
 if ([xmlelement isEqualToString:@"START_TIME"]) { 
[ywKPI.times addObject:[string substringToIndex:10]];
 } 
//START_TIME XML文件内容节点,ywKPI.times 数组对象,string xml文件START_TIME 节点值。 以下类似。 
if ([xmlelement isEqualToString:@"REGION_USERLABEL"]) { 
[ywKPI.citys addObject:string]; 
} 
if ([xmlelement isEqualToString:@"BHTIME_CS"]) {
 [ywKPI.dlymss addObject:string]; 
} 
if ([xmlelement isEqualToString:@"BHTIME_PS"]) { 
 [ywKPI.fzymss addObject:string]; 
} 
if ([xmlelement isEqualToString:@"GSM_NET_RATE"]) { 
NSString *gsmwljtl =[[NSString alloc]initWithFormat: @"%@%@",[NSString stringWithFormat:@"%.2f",[string floatValue]],@"%"];
 [ywKPI.gsmwljtls addObject:gsmwljtl]; 
} 
} 
3、当遇到XML节点结束标记时,执行以下代理方法 
-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName { 
xmlelement = nil;
//xmlelement为字符串变量,是在.h文件中定义的。 
}

 

分享到:
评论

相关推荐

    ios xml解析 NSXMLParser

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

    ios 简单xml解析DEMO绝对可用

    本教程将介绍如何在iOS应用中实现简单的XML解析,并提供了一个名为"UITableViewTricks"的DEMO,供开发者们参考学习。 XML文件结构清晰,易于理解,但在iOS中解析XML数据并非内置功能,需要借助第三方库或者Apple...

    ios中xml解析demo

    iOS中的XML解析主要有以下几种方法: 1. **NSXMLParser**: NSXMLParser是Apple提供的一个基于事件驱动的XML解析器。它逐行读取XML文档,遇到每个元素、属性或其他XML结构时都会触发相应的代理方法。开发者需要...

    IOS版本XML解析类

    总之,GDataXML是iOS开发中一个优秀的XML解析选择,它的易用性和效率使其在处理XML数据时比原生的NSXMLParser更具优势。对于需要处理XML数据的iOS应用,GDataXML无疑是一个值得推荐的工具。在实际项目中,结合良好的...

    IOS中XML解析类

    本篇文章将详细探讨iOS中XML解析的相关知识点,以帮助开发者更好地理解和应用。 ### 1. XML基础知识 XML是一种标记语言,它的设计目的是为了传输和存储数据。XML文件由元素(Element)、属性(Attribute)、文本...

    IOS解析XML文件

    NSXMLParser是苹果提供的原生XML解析器,基于事件驱动模型,适合处理大型XML文件,因为它不需要一次性加载整个文件到内存。而GDataXMLNode库(基于libxml2)提供了一个更面向对象的方法,对于小型XML文件,它的使用...

    iOS xml解析和json解析demo

    总结一下,这个"iOS xml解析和json解析demo"将涵盖如何在iOS应用中解析XML数据,包括使用NSXMLParser和XMLParser,以及如何解析和序列化JSON数据,包括使用内置的JSONSerialization类和可能涉及的一些第三方库。...

    ios-XML解析.zip

    总之,“ios-XML解析.zip”这个资源可能包含了关于如何在iOS应用中使用XML解析器(如`NSXMLParser`或`XMLParser`)解析XML数据,并将解析结果展示在表格视图上的示例代码和指南。通过学习和实践这些内容,开发者可以...

    ios xml解析

    此外,你提到的博客“ios xml解析”应该提供了TBXML的具体使用方法和常见问题解答,这将是你解决问题的重要资源。务必确保在使用TBXML时正确处理错误,例如,检查解析过程中是否出现网络错误、文件不存在等问题。 ...

    iOSXML数据解析

    在iOS中,XML解析通常有以下几种方式:NSXMLParser、GDataXML、XMLReader以及libxml2库。其中,XMLReader因其性能和内存管理的优势,成为处理大量XML数据的理想选择。 首先,我们需要了解XML的基本结构。XML文档由...

    ios-iOS xml解析.zip

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

    ios开发 XML解析

    在iOS开发中,XML(eXtensible Markup Language)是一种常用的数据交换格式,它具有结构化、可扩展...在实际开发中,可以根据项目的具体需求,结合其他XML解析库如NSXMLParser、XMLReader等,选择最适合的XML处理方式。

    iOS解析xml通用类

    在iOS中,有多种解析XML的方法,如NSXMLParser、GDataXMLNode和libxml等。libxml是一个功能强大的C语言库,提供了XML解析、DOM操作和XPath等功能,适用于需要高效、低级操作的场景。 在这个通用类中,核心是使用...

    ios应用源码之对xml文件的解析与导出数据存储在xml中(代码)xmlparser 2018127

    XML(eXtensible Markup Language)是一种...理解并熟练运用XML解析是iOS开发者必备的技能之一,这对于处理从服务器获取的或本地存储的数据至关重要。通过深入学习和实践,开发者能够更高效地管理和操作XML格式的数据。

    iPhone IOS XML解析源代码

    在iOS开发中,了解和掌握XML解析是非常重要的技能。除了上述两种方法,还有其他的解析库如XMLDictionary,它提供了更简洁的API,以字典形式返回解析结果。不过,对于学习基础和理解不同解析方式的优缺点,这个...

    ios交互和XML解析

    在iOS开发中,交互设计和XML解析是两个重要的技术领域。iOS交互主要涉及用户界面(UI)设计和用户体验(UX)优化,而XML解析则关乎数据的读取、存储和处理。下面将详细阐述这两个方面的内容。 首先,iOS交互设计是...

    iphone开发之xml解析

    在iOS开发中,有两种主要的XML解析方式:DOM(Document Object Model)和SAX(Simple API for XML)。 1. DOM解析: DOM解析器会将整个XML文档加载到内存中,构建一个树形结构,每个节点代表XML文档的一部分。这种...

    ios几种xml解析

    本文将详细介绍iOS中常用的XML解析方法。 一、NSXMLParser NSXMLParser是Apple提供的一个基于事件驱动的XML解析器,它是Foundation框架的一部分。使用NSXMLParser,应用程序会在解析过程中接收到一系列的回调,如...

    ios开发中的XML解析

    在iOS开发中,XML解析是一项重要的任务,尤其在处理结构化数据时。XML(Extensible Markup Language)是一种标记语言,用于存储和传输数据,它的结构清晰、可读性强,广泛应用于网络服务、配置文件和数据交换等领域...

    IOS应用源码之对xml文件的解析与导出数据存储在xml中(代码)xmlparser .zip

    在iOS中,有两个主要的XML解析框架:`NSXMLParser` 和 `XMLDocument`(属于`CFXMLParser`的一部分)。`NSXMLParser` 是基于事件的解析器,它会在解析过程中触发特定的事件回调,而 `XMLDocument` 提供了更为直观的...

Global site tag (gtag.js) - Google Analytics