IOS JSON/XML解析
来源:互联网 发布:对网络教育行业的看法 编辑:程序博客网 时间:2024/05/19 15:24
<pre name="code" class="objc">/*---------------------------XML_SAX解析-------------------------------*///XML SAX解析- (IBAction)XML_SAX:(id)sender{ NSData *da = [[NSData alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"megage" ofType:@"txt"]]; //第一步,创建xml解析 NSXMLParser *Parserdata = [[NSXMLParser alloc] initWithData:da]; //第二步设置代理 Parserdata.delegate = self; //第三步 启动解析 [Parserdata parse]; NSLog(@"点我");}/*---------------------------XML_SAX代理方法-------------------------------*///开始解析------------->>>启动解析的时候走代理方法- (void)parserDidStartDocument:(NSXMLParser *)parser{ //1.在开始解析的时候初始化接收信息的数组,为了不占用内存 self.megArray = [NSMutableArray array];}//开始解析某个节点的时候- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict{ //小1.把他的节点接收起来 self.elementString = elementName; if([elementName isEqualToString:@"message"]) { Recorce *meg = [[Recorce alloc] init]; [self.megArray addObject:meg]; }}//找到内容(节点)- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{ Recorce *meg = [self.megArray lastObject]; //通过节点添加内容 [meg setValue:string forKey:self.elementString]; }//结束解析某个节点- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{ self.elementString = nil;}//完成解析- (void)parserDidEndDocument:(NSXMLParser *)parser{ for (Recorce *me in self.megArray) { NSLog(@"%@",me); } }//解析发生错误的时候- (void)parser:(NSXMLParser *)parser parseErrorOccurred:(NSError *)parseError{ }
- (IBAction)XML_DOM:(id)sender{ NSData *data = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"megage" ofType:@"txt"]]; //获取数据 GDataXMLDocument *document = [[GDataXMLDocument alloc] initWithData:data options:0 error:nil]; //找到根节点 GDataXMLElement *Rootelement = document.rootElement; self.megArray = [NSMutableArray array]; //遍历根节点中的子节点, for ( GDataXMLElement *em in Rootelement.children ) { message *meg = [[message alloc] init]; for (GDataXMLElement *GE in em.children) { [meg setValue:GE.stringValue forKey:GE.name]; } [self.megArray addObject:meg]; NSLog(@"%@",meg); } }
- (IBAction)JSON_KIT:(id)sender{ //获得路径 NSData *data = [[NSData alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"content" ofType:@"txt"]]; //获得数据(第三方) NSArray *dataArray = [data objectFromJSONData]; NSLog(@"%@",dataArray); }
- (IBAction)JSON:(id)sender{ NSData *data = [[NSData alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"content" ofType:@"txt"]]; NSArray *dataArray = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
1 0
- [ios]xml, json解析
- IOS-XML&JSON解析
- iOS XML/JSON解析
- IOS JSON/XML解析
- iOS--JSON,XML解析
- ios学习--XML&JSON解析
- iOS 数据解析 JSON XML
- IOS 网络解析(XML,JSON)
- IOS 请求数据解析 XML 和 JSON
- 【iOS】Plist-XML-JSON数据解析
- iOS 数据解析 JSON 和 XML
- 【iOS】Plist-XML-JSON数据解析
- iOS的Plist-XML-JSON数据解析
- IOS--UI--LessonParse 数据解析 XML JSON
- iOS之JSON,XML数据结构解析
- iOS编程------XML、JSON数据结构解析
- iOS之数据解析 (JSON 、XML)
- iOS 常用解析方式(XML、Json)
- Android获取网络状态
- JPA的一些坑
- 线性链表 java实现
- According to TLD or attribute directive in tag file, attribute value does not accept any expressions
- PDF有效期设置
- IOS JSON/XML解析
- android下判断一个应用app是否是系统rom集成的方法
- 3117 高精度练习之乘法
- 推荐给每个找工作的IT毕业生--打鸡血书
- ANDROID 中设计模式的采用--创建型模式
- Spring AMQP消息监听容器配置
- STL list
- 举例说明 public private protected 的区别
- N-gram统计语言模型(总结)