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文件中定义的。   

使用NSXMLParser解析XML数据

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

XML数据解析———NSXMLParser

随笔写下成长点滴 解析XML数据
  • qq_33004199
  • qq_33004199
  • 2016年03月01日 19:13
  • 122

使用NSXMLParser解析XML数据

使用NSXMLParser解析XML数据 时间 2013-10-11 17:06:39  CSDN博客 原文  http://blog.csdn.net/u010962810/article/...
  • qq_27740983
  • qq_27740983
  • 2015年11月19日 09:13
  • 206

iOS之数据解析之XML解析

XML解析常见的两种方式:DOM解析和SAX解析DOM解析 DOM:Document Object Model(文档对象类型).解析XML时,读入整个XML文档并构建一个驻留内存的树结构(节点树),通...
  • u010390827
  • u010390827
  • 2016年05月06日 21:30
  • 2909

使用原生的NSXmlParser解析xml数据

xml文件地址: http://d1xzuxjlafny7l.cloudfront.net/downloads/Party.xml #import "ViewController.h" #pra...
  • junlaiyan
  • junlaiyan
  • 2015年06月15日 19:05
  • 185

使用NSXMLParser解析xml文件

1. 设置委托对象,开始解析   NSXMLParser *parser = [[NSXMLParser alloc] initWithData:data];  //或者也可以使用initWithC...
  • lx923988898
  • lx923988898
  • 2013年09月29日 17:00
  • 494

解析XML格式的数据

在网上传输数据时最常用的格式有两种:XML和JSON。 1.解析XML格式 有两种解析方法:Pull和SAX 需要解析的XML格式的内容如下: 1 Google Maps 1...
  • ZhiChu_2025
  • ZhiChu_2025
  • 2016年08月14日 16:54
  • 1758

xml解析代理NSXMLParserDelegate的使用步骤

[1]使用NSXMLParser对象的成员A存放本地xml文件的二进制内容 [2]创建一个代理,遵守NSXMLParserDelegate协议,代替A完成解析 [3]A执行解析方法,解析方...
  • u013370834
  • u013370834
  • 2015年08月16日 21:31
  • 747

基于系统NSXMLParser的XML解析的工具

这个可以做什么?一个简单的基于系统NSXMLParser的XML解析的工具怎么用?第一步:传入XML文件的路径NSString *filePath = [[NSBundle mainBundle] p...
  • zhhelnice
  • zhhelnice
  • 2016年08月23日 11:42
  • 110

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

在iOS开发中,大多数情况下,从网络获取的数据通常分两种。 JSON格式或者XML格式。 JSON是一种轻量级的数据格式,一般用于数据交互 JSON数据类似OC中的字典,解析方式也有很多ios5...
  • hongfengkt
  • hongfengkt
  • 2015年08月25日 17:35
  • 1534
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:NSXMLParser解析XML数据
举报原因:
原因补充:

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