NSXMLParser解析XML数据

转载 2015年11月19日 08:54:30
Cpp代码  收藏代码
  1. NSXMLParser解析XML数据 用法如下:  
  2. 一、首先,必须继承NSXMLParserDelegate协议   
  3. @interface ViewController : UIViewController<NSXMLParserDelegate>   
  4. 二、设置XML数据,并初始化NSXMLParser:   
  5. 1、从本地XML文件中读取数据   
  6. NSString *strPathXml = [[NSBundle mainBundle] pathForResource:@"group" ofType:@"xml"];   
  7. NSData *xmlData = [[NSData alloc] initWithContentsOfFile:strPathXml];  
  8. NSXMLParser *parserXML = [[NSXMLParser alloc] initWithData:xmlData];   
  9. [parser setShouldProcessNamespaces:NO];   
  10. [parser setShouldReportNamespacePrefixes:NO];   
  11. [parser setShouldResolveExternalEntities:NO];   
  12. [parser setDelegate:self];   
  13. [parser parse];   
  14. [parser release];   
  15. 2、从接口Java Servlet中获取数据   
  16. NSString *nstrYwKPIUrl = [[NSString alloc]initWithFormat:@"%@?citys=%@&startTime=%@&endTime=%@&indexNames=%@",YWKPIURL,city,startTime,endTime,zbz];   
  17. //Servlet访问地址与传递参数   
  18. NSString *encodedURL = [nstrYwKPIUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];   
  19. //对Servlet访问地址进行编码   
  20. NSLog(@"encodedURL is %@",encodedURL);   
  21. NSXMLParser *parser = [[NSXMLParser alloc] initWithContentsOfURL:[NSURL URLWithString:encodedURL ]];   
  22. [parser setShouldProcessNamespaces:NO];   
  23. [parser setShouldReportNamespacePrefixes:NO];   
  24. [parser setShouldResolveExternalEntities:NO];   
  25. parser.delegate = self;   
  26. [parser parse];   
  27. [parser release];  
  28. 三、解析XML数据   
  29. 1、遍例xml的节点,执行以下代理方法   
  30. -(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict {   
  31. xmlelement = [[NSString alloc]initWithString:elementName];  
  32.  //xmlelement为XML元素节点(xmlelement为字符串变量,是在.h文件中定义的。)   
  33. }   
  34. 2、当xml节点有值时,则执行以下代理方法   
  35. - (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {  
  36.  if ([xmlelement isEqualToString:@"START_TIME"]) {   
  37. [ywKPI.times addObject:[string substringToIndex:10]];  
  38.  }   
  39. //START_TIME XML文件内容节点,ywKPI.times 数组对象,string xml文件START_TIME 节点值。 以下类似。   
  40. if ([xmlelement isEqualToString:@"REGION_USERLABEL"]) {   
  41. [ywKPI.citys addObject:string];   
  42. }   
  43. if ([xmlelement isEqualToString:@"BHTIME_CS"]) {  
  44.  [ywKPI.dlymss addObject:string];   
  45. }   
  46. if ([xmlelement isEqualToString:@"BHTIME_PS"]) {   
  47.  [ywKPI.fzymss addObject:string];   
  48. }   
  49. if ([xmlelement isEqualToString:@"GSM_NET_RATE"]) {   
  50. NSString *gsmwljtl =[[NSString alloc]initWithFormat: @"%@%@",[NSString stringWithFormat:@"%.2f",[string floatValue]],@"%"];  
  51.  [ywKPI.gsmwljtls addObject:gsmwljtl];   
  52. }   
  53. }   
  54. 3、当遇到XML节点结束标记时,执行以下代理方法   
  55. -(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {   
  56. xmlelement = nil;  
  57. //xmlelement为字符串变量,是在.h文件中定义的。   

相关文章推荐

XML数据解析———NSXMLParser

随笔写下成长点滴 解析XML数据

iOS 详解NSXMLParser方法解析XML数据方法

转载于: 前一篇文章已经介绍了如何通过URL从网络上获取xml数据。下面介绍如何将获取到的数据进行解析。 下面先看看xml的数据格式吧! [html] view plai...

使用NSXMLParser解析XML数据

对xml进行解析的标准有两种:sax以及dom。 在iOS中,可以通过NSXMLParser实现sax方法解析xml文件。 主要内容: 1.使用NSXMLParser解析XML网址数据 2.使用NSX...

iOS网络数据解析--XML解析详解(GDataXMLNode&原生NSXMLParser)

在iOS开发中,大多数情况下,从网络获取的数据通常分两种。 JSON格式或者XML格式。 JSON是一种轻量级的数据格式,一般用于数据交互 JSON数据类似OC中的字典,解析方式也有很多ios5...

ios xml解析 NSXMLParser

  • 2013-06-25 15:55
  • 33KB
  • 下载

NSXMLParser具体解析xml的应用详解

有关NSXMLParser解析类库的基本论述,可查看相关SDK帮助,以下仅仅是具体的应用操作。是以一个图书库应用为例,其Books.xml文档结构如下: Circum...

iOS SDK中使用NSXMLParser解析XML

iOS SDK的NSXMLParser解析XML文档是事件驱动模式的,即采用SAX方式来解析XML格式文档。NSXMLParser在处理XML文档的过程中当遇到一些要素(元素、属性、CDATA块、评论...

两种XML解析方式NSXMLParser和GDataXMLNode

iPhone中两种XML解析方式NSXMLParser和GDataXMLNode是本文要介绍的内容,很详细的介绍了NSXMLParser和GDataXMLNode这两种方式,常用的解析XML的方式分为...

利用NSXMLParser来解析xml文件

要解析xml文件,当然要先了解一下什么是xml文件啦,在这里就不说了,接上一篇文章,由于是要获取新浪的新闻,我是新浪的rss中心里面找到相应的新闻类别,比如 体育新闻,然后点击xml,此时打开的是浏览...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)