《《iphone xml解析流程》.pdf

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《《iphone xml解析流程》.pdf

iphone xml解析流程 2011-01-17 16:56:57| 分类: MAC相关 阅读242 评论0 字号:大中小 订阅 解析 web Service 的XML 内容一直是一个难点,很多开发者在这一部分都 十分的费力。下面我就我自己写的一个XML 的例子来从头到尾的讲一遍其 相关的内容。 在很多的情况下,一个服务是通过某种网络API暴露的,它规定客户端发 送什么,服务会在响应里发送什么,一般的来说大部分都返回xml格式的 数据。 我们来一个拿个接口实例来说一下: /api/ index.php?page=1test=1wm=b100cid=43 这个一个网络请求地址,当网web Sevice发送这样的一个请求的时候返回 的是这样的一个xml 的数据: 上面的代码是connection的代理方法,很容易的看出来twitterData里就是 我们取得的XML数据,就是我们后面要解析的东西。[self startTwitterParser] 这个方法被调用就是要正式的解析XML数据了,如下: //开始对返回的data进行解析———— -(void)startTwitterParser { NSXMLParser *parser =[[NSXMLParser alloc]initWithData:twitterData]; parser.delegate = self; [parser parse]; [parser release]; } 然后就是难点了-如何解析出你想要的内容。 #pragma mark NSXMLParserDelegate - (void)parserDidStartDocument:(NSXMLParser *)parser { twitterDic= [[NSMutableDictionary alloc] initWithCapacity :0];//每一条信 息都用字典来存; parserObjects= [[NSMutableArrayalloc]init];//每一组信息都用数组来存, 做后得到的数据就在这个数组中 } - (void)parser:(NSXMLParser *)parser didStartElement:(NSString *) elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *) attributeDict { if ([elementName isEqualToString:@item]) //找节点进行解析 { NSMutableDictionary *newNode = [[NSMutableDictionary alloc] initWithCapacity:0]; [parserObjectsaddObject:newNode]; twitterDic = newNode; } elseif(twitterDic) { if ([elementName isEqualToString:@enclosure]) { //NSLog(@%@,attributeDict);//存到字典下了 if ([[attributeDict valueForKey:@url] hasSuffix:@jpg]) //把encolsuer 下的节点放在字典中 { [twitterDicsetObject:[attributeDict valueForKey:@url] forKey:@image]; } else { [twitterDicsetObject:[attributeDict valueForKey:@url] forKey:@video]; } } else { NSMutableString *string = [[NSMutableString alloc]initWithCapacity:0]; [twitterDicsetObject:string forKey:elementName]; [string release]; currentText = [[NSStringalloc] init]; currentElementName = elementName; } } } - (void)parser:(NSXMLParser *)parser foundCharacters:( NSString *) string { curre

文档评论(0)

qspd + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档