XML文件转化成NSData对象的方法


Posted in Javascript onAugust 12, 2015

 

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);
  }
}
Javascript 相关文章推荐
javascript 常用关键字列表集合
Dec 04 Javascript
js实现仿百度瀑布流的方法
Feb 05 Javascript
在javascript中随机数 math random如何生成指定范围数值的随机数
Oct 21 Javascript
JS获取年月日时分秒的方法分析
Nov 28 Javascript
jQuery Validate表单验证插件实现代码
Jun 08 jQuery
jQuery 表单序列化实例代码
Jun 11 jQuery
Angular2学习笔记之数据绑定的示例代码
Jan 03 Javascript
微信小程序 image组件遇到的问题
May 28 Javascript
JavaScript Canvas编写炫彩的网页时钟
Oct 16 Javascript
js实现九宫格抽奖
Mar 19 Javascript
微信小程序实现页面监听自定义组件的触发事件
Nov 01 Javascript
Vue如何实现验证码输入交互
Dec 07 Vue.js
javascript实现点击单选按钮链接转向对应网址的方法
Aug 12 #Javascript
jQuery实现动态添加和删除一个div
Aug 12 #Javascript
JavaScript多线程详解
Aug 12 #Javascript
javascript实现在下拉列表中显示多级树形菜单的方法
Aug 12 #Javascript
JavaScript实现同一页面内两个表单互相传值的方法
Aug 12 #Javascript
JavaScript实现点击单选按钮改变输入框中文本域内容的方法
Aug 12 #Javascript
JavaScript检测并限制复选框选中个数的方法
Aug 12 #Javascript
You might like
PHP 将逗号、空格、回车分隔的字符串转换为数组的函数
2012/06/07 PHP
解析file_get_contents模仿浏览器头(user_agent)获取数据
2013/06/27 PHP
linux实现php定时执行cron任务详解
2013/12/24 PHP
推荐一本PHP程序猿都应该拜读的书
2014/12/31 PHP
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
2015/03/25 PHP
php利用gd库为图片添加水印
2016/11/09 PHP
PHP设计模式之装饰器(装饰者)模式(Decorator)入门与应用详解
2019/12/13 PHP
Javascript优化技巧(文件瘦身篇)
2008/01/28 Javascript
JQuery报错Uncaught TypeError: Illegal invocation的处理方法
2015/03/13 Javascript
javascript实现框架高度随内容改变的方法
2015/07/23 Javascript
Bootstrap所支持的表单控件实例详解
2016/05/16 Javascript
js实现多行文本框统计剩余字数功能
2017/03/28 Javascript
javascript中神奇的 Date对象小结
2017/10/12 Javascript
Element Table的row-class-name无效与动态高亮显示选中行背景色
2018/11/30 Javascript
通过js实现压缩图片上传功能
2020/02/25 Javascript
解决vuex刷新数据消失问题
2020/11/12 Javascript
javascript this指向相关问题及改变方法
2020/11/19 Javascript
Windows下Python2与Python3两个版本共存的方法详解
2017/02/12 Python
教你使用python画一朵花送女朋友
2018/03/29 Python
Python 实现自动完成A4标签排版打印功能
2020/04/09 Python
Python‘==‘ 及 ‘is‘相关原理解析
2020/09/05 Python
Pycharm 设置默认解释器路径和编码格式的操作
2021/02/05 Python
耐克美国官网:Nike.com
2016/08/01 全球购物
HSRP的含义以及如何工作
2014/09/10 面试题
完美实现CSS垂直居中的11种方法
2021/03/27 HTML / CSS
新闻编辑自荐信
2013/11/03 职场文书
高校学生干部的自我评价分享
2013/11/04 职场文书
高中生毕业自我鉴定范文
2013/12/22 职场文书
音乐专业自荐信
2014/02/07 职场文书
幼儿园小班评语大全
2014/04/17 职场文书
乔布斯斯坦福大学演讲稿
2014/05/23 职场文书
企业金融服务方案
2014/06/03 职场文书
领导班子个人对照检查剖析材料
2014/09/29 职场文书
简历自我评价优缺点
2015/03/11 职场文书
小学入学感言
2015/08/01 职场文书
python引入其他文件夹下的py文件具体方法
2021/05/23 Python