iOS 解析xml
2015-12-04 16:36
363 查看
1.首先引用委托
<NSXMLParserDelegate>
并声明
NSXMLParser变量。
2.开始读取xml内容进行解析
<NSXMLParserDelegate>
并声明
NSXMLParser变量。
2.开始读取xml内容进行解析
- (IBAction)DoParser:(id)sender { self.xmlString=@"<?xml version=\"1.0\" encoding=\"UTF-8\"?><root><person id=\"1\"><firstname>尤1</firstname><secondname>吴1</secondname></person><person id=\"2\"><firstname>尤2</firstname><secondname>吴2</secondname></person></root>"; NSData *xmldata=[[NSData alloc]init]; xmldata=[self.xmlString dataUsingEncoding:NSUTF8StringEncoding]; self.xmlParser=[[NSXMLParser alloc]initWithData:xmldata]; [self.xmlParser setDelegate:self]; [self.xmlParser parse]; } //开始解析 - (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict { NSLog(@"开始处理元素:%@",elementName); //可获取元素属性 if ([elementName isEqualToString:@"person"]) { NSLog(@"attributes:%@",[attributeDict objectForKey:@"id"]); } } //完成解析 - (void)parserDidEndDocument:(NSXMLParser *)parser{ if (self.soapResults) { self.soapResults=nil; } } //元素内的内容 - (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string { if (string) { self.soapResults=string; } } //结束该元素解析后的操作 - (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName { if ([elementName isEqualToString:@"person"]) { //NSLog(@"%@",[NSString stringWithFormat:@"%@",self.soapResults ]); } NSLog(@"%@:%@",elementName,self.soapResults); } //报错时的操作 - (void)parser:(NSXMLParser *)parser parseErrorOccurred:(NSError *)parseError { NSLog(@"%@",parseError); if (self.soapResults) { self.soapResults=nil; } }
相关文章推荐
- ios中实现图片的播放
- iOS性能优化之内存管理:Analyze、Leaks、Allocations的使用和案例代码
- [ios开发]利用有道翻译API实现简单的翻译功能
- iOS CJKeyBoardBarTextField_键盘遮挡处理
- iOS- 本地文本容错搜索引擎2-->如何实现英文(英文首字母,汉语拼音)对中文的搜索?
- ios测试基础六:ios模拟不同网速
- ios测试基础五: ios手机流量消耗
- iOS开发-多线程-线程间通讯
- iOS开发——warning: directory not found for option ' '
- iOS 发大招 otherButtonTitles:(nullable NSString *)otherButtonTitles, ... 写法 && 编写通用类的时候关于可变参数的处理
- iOS开发技巧--项目中定义宏的相关方法
- ios 常用第三方类库
- ios开发之消息推送(以信鸽推送为例)
- iOS开发-多线程-线程安全
- iOS开发-多线程-NSThread
- 转:关于setNeedsDisplay和setNeedsLayout
- iOS 天气应用代码中文介绍
- iOS开发-多线程-简介
- iOS开发-POST请求与GET请求
- 不同苹果设备的区分《摘自iOS开发指南》