XML数据解析的系统方法有哪些
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍XML数据解析的系统方法有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!XML是一种自描述的数据交换格式。是一种非常重要的数据交换 格式,多年来一直用于各种
千家信息网最后更新 2026年11月01日XML数据解析的系统方法有哪些
这篇文章主要介绍XML数据解析的系统方法有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
XML是一种自描述的数据交换格式。是一种非常重要的数据交换 格式,多年来一直用于各种计算机语言中。XML类似HTML,有一对对标签对,格式比HTML严谨,一个<>开始,一个>结尾.
解析的内容为:
张三 123456 小张 1111111111 张三 2222222 小四儿 李四是个好学生 张三 88888888 小五 1234567890
事先已将数据读取并存储在data中.
创建一个类,继承自NSObject,命名为userInfo
@property(nonatomic,copy)NSString *uID;@property(nonatomic,copy)NSString *name;@property(nonatomic,copy)NSString *password;@property(nonatomic,copy)NSString *nickname;@property(nonatomic,copy)NSString *description;
再创建一个类,同样继承自NSObject,命名为userParser,实现xml文件的读取.
userParser.h
#import#import "user.h"@interface userParser : NSObject //存储信息的数组@property(nonatomic,retain)NSMutableArray *array;//实例@property(nonatomic,retain)user *people;//创建字符串保存信息@property(nonatomic,copy)NSMutableString *buffer;//读取xml文件-(void)parserWithString:(NSString *)string;@end
userparser.m
#import "userParser.h" @implementation userParser-(void)parserWithString:(NSString *)string{ //使用系统XML解析方法 NSXMLParser *parser=[[NSXMLParser alloc]initWithData:[string dataUsingEncoding:NSUTF8StringEncoding]]; //设置代理 parser.delegate=self; //开始解析 [parser parse];}#pragma mark ---NSXMLParserDelegate---//开始解析- (void)parserDidStartDocument:(NSXMLParser *)parser{ NSLog(@"it begin");}//解析结束- (void)parserDidEndDocument:(NSXMLParser *)parser{ NSLog(@"it is over"); for (int i=0; i<_array.count; i++) { user *user=_array[i]; NSLog(@"%@,%@,%@,%@,%@",user.uID,user.name,user.password,user.nickname,user.description); }}//遇到开始标签//attributeDict标签属性- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict{ if ([elementName isEqualToString:@"users"]) { _array=[[NSMutableArray alloc]init]; } else if ([elementName isEqualToString:@"user"]) { _people=[[user alloc]init]; // _people.uID=[attributeDict objectForKey:@"id"]; } else if ([elementName isEqualToString:@"name"]) { _buffer=[[NSMutableString alloc]init]; } else if ([elementName isEqualToString:@"password"]) { _buffer=[[NSMutableString alloc]init]; } else if ([elementName isEqualToString:@"nickname"]) { _buffer=[[NSMutableString alloc]init]; } else if ([elementName isEqualToString:@"description"]) { _buffer=[[NSMutableString alloc]init]; } }//结束标签- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{ if ([elementName isEqualToString:@"name"]) { _people.name=_buffer; } else if ([elementName isEqualToString:@"password"]) { _people.password=_buffer; } else if ([elementName isEqualToString:@"nickname"]) { _people.nickname=_buffer; }else if ([elementName isEqualToString:@"description"]) { _people.description=_buffer; } else if ([elementName isEqualToString:@"user"]) { [_array addObject:_people]; }}//读取内容- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{ //NSCharacterSet字符串结合,取出字符串中的空格 [_buffer appendString:[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]];} 在viewcontroller中,创建userparser的实例对象,通过parserWithString方法实现数据解析
userParser *uparser=[[userParser alloc]init];[uparser parserWithString:user];
注:将数据解析与界面显示分开写有助于减低程序的耦合,同时也符合MVC编程模式.
以上是"XML数据解析的系统方法有哪些"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
数据
方法
内容
标签
系统
字符
字符串
格式
张三
信息
实例
文件
篇文章
存储
严谨
重要
价值
兴趣
同时
多年
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
新华互联网科技学校
青岛互联网科技公司
嘟嘟瓜互联网科技
碳银互联网科技
安徽鑫晟辉互联网科技
互联网金融科技创新
狮子座互联网科技有限公司
互联网女皇 腾讯科技
睿民互联网科技
火传媒上海互联网科技
滨湖区互联网智能科技产品供应
科技赋能互联网健康
现代科技和互联网有关系吗
辽宁互联网新科技
本届互联网博览会上的黑科技
四川慕妮娅互联网科技有限公司
科技互联网海报
广州互联网高科技取餐柜
北京军民互联网科技公司
银川新华互联网科技学校招聘
互联网科技公司排名
科技互联网项目
互联网与未来科技
电子科技大学互联网
昭通云南众福互联网科技有限公司
华夏恒生互联网科技013171
有人说阿里系是互联网科技企业
图游互联网科技
数字科技和互联网金融哪个好
黑龙江互联网科技公司