XML数据解析的系统方法有哪些
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章主要介绍XML数据解析的系统方法有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!XML是一种自描述的数据交换格式。是一种非常重要的数据交换 格式,多年来一直用于各种
千家信息网最后更新 2025年11月07日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安全错误
数据库的锁怎样保障安全
根据来源数据库分组浏览
史料数据库开发
武汉远光软件数据库开发
武汉企业网络安全维护
数据库表中属性列的 删除
郑州金融软件开发报价
如何在桌面添加局域网服务器
网络安全ipv9
网站服务器安全检测报告
郝大为 巨杉数据库
数据库字段怎么加密mysql
网络技术 实践
商鹰互联网科技
手机一直跳出来无法验证服务器
广州广睿知产网络技术有限
诺瓦软件开发环境
地税系统网络安全自查报告
企业网络安全学院
武汉oa软件开发
ros 数据库
窃取其他企业数据库数据
阿里云外包软件开发
单片机下什么软件开发
服务器开启了360安全登录
数据库驱动作用是什么
数据库中修改表中时间
安其拉开门需要服务器维护吗
酒店订房系统数据库课程设计
对数据库表的修改语句
农商银行网络安全罚单