XML数据解析的系统方法有哪些
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章主要介绍XML数据解析的系统方法有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!XML是一种自描述的数据交换格式。是一种非常重要的数据交换 格式,多年来一直用于各种
千家信息网最后更新 2025年01月19日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安全错误
数据库的锁怎样保障安全
学软件开发应该报考什么专业
数据库中的触发器
通过服务器连接家里的内网
新时代网络技术中心
但连不上服务器
清远软件开发工程师
新梦诛318新服务器
蚌埠软件开发
民营网络安全工作
无法解析服务器名称或地址
网络技术什么最赚钱
数据库中间人攻击工具
女生适合学大数据软件开发吗
虚拟机怎么做数据库
西安有网络安全培训机构
人员档案数据库excel
太原鼎世寰海网络技术怎么样
网络安全考试试题试卷7
山西专业软件开发设施有哪些
pb软件开发招聘
中国江苏服务器云主机
贵阳做软件开发施工公司
数据库如何优化变快
海康视频服务器起什么作用
幻塔班吉斯服务器位置
镇江乐游网络技术有限公司
acc数据库介绍
如何下载粘土服务器
网络安全技术应用大赛
南京ktv服务器回收价格