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。 NSXMLParser是基于SAX的解析方式。NSXMLParser采用了委托设计模式,因此他的实现类需要采用协议并支持委托。NSXMLParser解析XML需要委托NSXMLParserDelegate实现。
本教程将介绍如何在iOS应用中实现简单的XML解析,并提供了一个名为"UITableViewTricks"的DEMO,供开发者们参考学习。 XML文件结构清晰,易于理解,但在iOS中解析XML数据并非内置功能,需要借助第三方库或者Apple...
iOS中的XML解析主要有以下几种方法: 1. **NSXMLParser**: NSXMLParser是Apple提供的一个基于事件驱动的XML解析器。它逐行读取XML文档,遇到每个元素、属性或其他XML结构时都会触发相应的代理方法。开发者需要...
总之,GDataXML是iOS开发中一个优秀的XML解析选择,它的易用性和效率使其在处理XML数据时比原生的NSXMLParser更具优势。对于需要处理XML数据的iOS应用,GDataXML无疑是一个值得推荐的工具。在实际项目中,结合良好的...
本篇文章将详细探讨iOS中XML解析的相关知识点,以帮助开发者更好地理解和应用。 ### 1. XML基础知识 XML是一种标记语言,它的设计目的是为了传输和存储数据。XML文件由元素(Element)、属性(Attribute)、文本...
NSXMLParser是苹果提供的原生XML解析器,基于事件驱动模型,适合处理大型XML文件,因为它不需要一次性加载整个文件到内存。而GDataXMLNode库(基于libxml2)提供了一个更面向对象的方法,对于小型XML文件,它的使用...
总结一下,这个"iOS xml解析和json解析demo"将涵盖如何在iOS应用中解析XML数据,包括使用NSXMLParser和XMLParser,以及如何解析和序列化JSON数据,包括使用内置的JSONSerialization类和可能涉及的一些第三方库。...
总之,“ios-XML解析.zip”这个资源可能包含了关于如何在iOS应用中使用XML解析器(如`NSXMLParser`或`XMLParser`)解析XML数据,并将解析结果展示在表格视图上的示例代码和指南。通过学习和实践这些内容,开发者可以...
此外,你提到的博客“ios xml解析”应该提供了TBXML的具体使用方法和常见问题解答,这将是你解决问题的重要资源。务必确保在使用TBXML时正确处理错误,例如,检查解析过程中是否出现网络错误、文件不存在等问题。 ...
在iOS中,XML解析通常有以下几种方式:NSXMLParser、GDataXML、XMLReader以及libxml2库。其中,XMLReader因其性能和内存管理的优势,成为处理大量XML数据的理想选择。 首先,我们需要了解XML的基本结构。XML文档由...
xml解析的两种常用方式, DOM解析:一次性将整个XML文档加载进内存,比较适合解析小文件,例如:GDataXml解析 SAX解析:从根元素开始,按顺序一个元素一个元素往下解析,比较适合解析大文件,例如:NSXMLParser解析
在iOS开发中,XML(eXtensible Markup Language)是一种常用的数据交换格式,它具有结构化、可扩展...在实际开发中,可以根据项目的具体需求,结合其他XML解析库如NSXMLParser、XMLReader等,选择最适合的XML处理方式。
在iOS中,有多种解析XML的方法,如NSXMLParser、GDataXMLNode和libxml等。libxml是一个功能强大的C语言库,提供了XML解析、DOM操作和XPath等功能,适用于需要高效、低级操作的场景。 在这个通用类中,核心是使用...
XML(eXtensible Markup Language)是一种...理解并熟练运用XML解析是iOS开发者必备的技能之一,这对于处理从服务器获取的或本地存储的数据至关重要。通过深入学习和实践,开发者能够更高效地管理和操作XML格式的数据。
在iOS开发中,了解和掌握XML解析是非常重要的技能。除了上述两种方法,还有其他的解析库如XMLDictionary,它提供了更简洁的API,以字典形式返回解析结果。不过,对于学习基础和理解不同解析方式的优缺点,这个...
在iOS开发中,交互设计和XML解析是两个重要的技术领域。iOS交互主要涉及用户界面(UI)设计和用户体验(UX)优化,而XML解析则关乎数据的读取、存储和处理。下面将详细阐述这两个方面的内容。 首先,iOS交互设计是...
在iOS开发中,有两种主要的XML解析方式:DOM(Document Object Model)和SAX(Simple API for XML)。 1. DOM解析: DOM解析器会将整个XML文档加载到内存中,构建一个树形结构,每个节点代表XML文档的一部分。这种...
本文将详细介绍iOS中常用的XML解析方法。 一、NSXMLParser NSXMLParser是Apple提供的一个基于事件驱动的XML解析器,它是Foundation框架的一部分。使用NSXMLParser,应用程序会在解析过程中接收到一系列的回调,如...
在iOS开发中,XML解析是一项重要的任务,尤其在处理结构化数据时。XML(Extensible Markup Language)是一种标记语言,用于存储和传输数据,它的结构清晰、可读性强,广泛应用于网络服务、配置文件和数据交换等领域...
在iOS中,有两个主要的XML解析框架:`NSXMLParser` 和 `XMLDocument`(属于`CFXMLParser`的一部分)。`NSXMLParser` 是基于事件的解析器,它会在解析过程中触发特定的事件回调,而 `XMLDocument` 提供了更为直观的...