NSData *xmlData = [[NSData alloc]initWithContentsOfFile:[NSString stringWithFormat:@"%@/People.xml",[[NSBundle mainBundle] resourcePath]]]; //2.将xmlData转化成xml文档 GDataXMLDocument *xmlDocument = [[GDataXMLDocument alloc]initWithData:xmlData options:0 error:nil]; //3.得到节点 GDataXMLElement *rootElement = xmlDocument.rootElement; //4.得到子节点 /*NSArray *elementArray = rootElement.children; //得到classone节点 GDataXMLElement *classoneElement = [elementArray firstObject]; for(GDataXMLElement *element in classoneElement.children) { //得到当前节点的文本值 NSLog(@"%@",element.stringValue); if (element.children.count>0) { GDataXMLElement *infoElement = [element.children lastObject]; //获得节点的所有属性和属性值 NSArray *attArray = infoElement.attributes; for (GDataXMLElement *attElement in attArray) { //得到属性名和属性值 NSLog(@"%@-%@",attElement.name,attElement.stringValue); } } } */ //模糊查找 NSArray *eArray = [rootElement nodesForXPath:@"//info" error:nil]; NSLog(@"%@",eArray);
iPhone开发 解析xml NSData
具体内容请看下文代码分析:
xml字符串为: <users> <user name="hoge" age="20" /> <user name="fuga" age="30" /> </users> //解析按钮事件 -(IBAction)btnXml { NSString* str= [uitextview1 text]; //string转成data NSData *xmlData = [str dataUsingEncoding: NSUTF8StringEncoding]; //对xml进行解析需要使用NSXMLParser类,首先声明一个NSXMLParser对象 //开始解析 NSXMLParser* xmlRead = [[NSXMLParser alloc] initWithData:xmlData];//初始化NSXMLParser对象 [xmlRead setDelegate:self];//设置NSXMLParser对象的解析方法代理 [xmlRead parse];//调用代理解析NSXMLParser对象,看解析是否成功 } //解析器,从两个结点之间读取内容 - (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string { //NSLog(@"%@",string); } //获得结点结尾的值 - (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName { //NSLog(@"%@",elementName); } //获得结点头的值 - (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict { //NSLog(@"%@",elementName); if([elementName isEqualToString: @"user"]) { NSString* strName=[attributeDict valueForKey:@"name"]; NSString* strAge=[attributeDict valueForKey:@"age"]; NSString* strUser=uitextview2.text; strUser=[strUser stringByAppendingFormat:@"姓名:%@,年龄:%@\n",strName,strAge]; [uitextview2 setText:strUser]; //NSLog(@"姓名:%@,年龄:%@", strName,strAge); } }
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“XML文件转化成NSData对象的方法”评论...
更新动态
2024年11月13日
2024年11月13日
- 刘欢《雨中的树(新歌加精选)2CD》德国HD24K金碟[WAV+CUE]
- 郑源 《世间情歌》6N纯银SQCD[WAV+CUE][1G]
- 群星《粤潮2HQII》头版限量编号[低速原抓WAV+CUE][991M]
- 群星《2023好听新歌21》十倍音质 U盘音乐[WAV分轨][1G]
- 《热血传奇》双11感恩回馈 超值狂欢30天
- 原神5.2版本活动汇总 5.2版本活动有哪些
- 张敬轩.2010-NO.ELEVEN【环球】【WAV+CUE】
- 黄丽玲.2006-失恋无罪【艾回】【WAV+CUE】
- 阿达娃.2024-Laluna【W8VES】【FLAC分轨】
- 宝可梦大集结段位等级划分表大全 大集结段位一览
- 龙腾世纪影障守护者工坊与装备如何升级 工坊与装备升级说明
- 龙腾世纪影障守护者全成就攻略分享 龙腾世纪4全成就列表一览
- 《剑星》更新四套全新战衣!
- 卡普空老将伊津野英昭宣布入职腾讯光子 开发3A动作
- 38岁梅根·福克斯官宣怀孕:将迎来第四个孩子