首页 > 代码库 > XML网络数据解析
XML网络数据解析
1.首先加载xml网址
-(void)loadXml{ NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://m.kiway.cn:50/version/ddpt.xml"]]; NSURLRequest *request1 = [NSURLRequest requestWithURL:url]; NSURLResponse *response = nil; NSError *errpr = nil; //同步加载数据 NSData *data1 = [NSURLConnection sendSynchronousRequest:request1 returningResponse:&response error:&errpr]; NSXMLParser *xmlparser = [[NSXMLParser alloc] initWithData:data1]; [xmlparser setDelegate:self];//设置代理方法 BOOL flag = [xmlparser parse];//开始解析数据,做一个判断,成功在开始解析 if (flag) { NSLog(@"OK"); }else { NSLog(@"获取xml文件失败"); } }
2.xml数据解析的协议方法
- (void)parserDidStartDocument:(NSXMLParser *)parser { parserObjects = [[NSMutableArray alloc] init]; //每一组信息都用数组来存,最后得到的数据即在此数组中}- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary *)attributeDict { NSArray *elementArray = [[NSArray alloc] initWithObjects:@"serverCode",@"apkUrl",nil]; if ([elementName isEqualToString:@"version"]) { //开始解析News节点 dataDict = [[NSMutableDictionary alloc] initWithCapacity:0]; //每一条信息都用字典来存储 NSLog(@"%@",dataDict); }else { //开始解析子节点 for (NSString *e in elementArray) { if ([e isEqualToString:elementName]) { self.m_strCurrentElement = elementName; self.tempString = [NSMutableString string]; break; } } } }- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string { //填充string if (m_strCurrentElement) { [self.tempString appendString:string]; [dataDict setObject:string forKey:m_strCurrentElement]; }}- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName { //填充dic if (m_strCurrentElement) { [dataDict setObject:self.tempString forKey:m_strCurrentElement]; self.m_strCurrentElement = nil; self.tempString = nil; } //结束解析News节点 if ([elementName isEqualToString:@"version"]) { if (dataDict) { [parserObjects addObject:dataDict]; } } }- (void)parserDidEndDocument:(NSXMLParser *)parser { }
XML网络数据解析
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。