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 相关文章推荐
jquery可见性过滤选择器使用示例
Jun 24 Javascript
Jquery动态进行图片缩略的原理及实现
Aug 13 Javascript
Javascript中this关键字的一些小知识
Mar 15 Javascript
JS实现网页Div层Clone拖拽效果
Sep 26 Javascript
有关jquery与DOM节点操作方法和属性记录
Apr 15 Javascript
plupload+artdialog实现多平台上传文件
Jul 19 Javascript
JavaScript奇技淫巧44招【实用】
Dec 11 Javascript
解决ajax不能访问本地文件问题(利用js跨域原理)
Jan 24 Javascript
Angularjs自定义指令Directive详解
May 27 Javascript
使用bootstrap实现下拉框搜索功能的实例讲解
Aug 10 Javascript
vscode 开发Vue项目的方法步骤
Nov 25 Javascript
详解Vue底部导航栏组件
May 02 Javascript
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 上传文件的方法(类)
2009/07/30 PHP
深入PHP内存相关的功能特性详解
2013/06/08 PHP
php实现最简单的MVC框架实例教程
2014/09/08 PHP
CI框架中$this-&gt;load-&gt;library()用法分析
2016/05/18 PHP
Yii框架实现多数据库配置和操作的方法
2017/05/25 PHP
php 算法之实现相对路径的实例
2017/10/17 PHP
php生成静态页面并实现预览功能
2019/06/27 PHP
用js实现随机返回数组的一个元素
2007/08/13 Javascript
javascript appendChild,innerHTML,join性能比较代码
2009/08/29 Javascript
javascript 全等号运算符使用说明
2010/05/31 Javascript
javascript中DOM复选框选择用法实例
2015/05/14 Javascript
jQuery实现在列表的首行添加数据
2015/05/19 Javascript
JavaScript制作简单的日历效果
2016/03/10 Javascript
Vue 2.x教程之基础API
2017/03/06 Javascript
Vue数组更新及过滤排序功能
2017/08/10 Javascript
js实现图片放大展示效果
2017/08/30 Javascript
Vue2.0 axios前后端登陆拦截器(实例讲解)
2017/10/27 Javascript
vue2中使用less简易教程
2018/03/27 Javascript
基于AngularJs select绑定数字类型的问题
2018/10/08 Javascript
Vue.js实现备忘录功能
2019/06/26 Javascript
Node.js操作MongoDB数据库实例分析
2020/01/19 Javascript
ant-design-vue按需加载的坑的解决
2020/05/14 Javascript
[28:57]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/16 DOTA
[01:47]2018年度DOTA2最佳教练-完美盛典
2018/12/16 DOTA
python中defaultdict的用法详解
2017/06/07 Python
出国留学自荐信
2013/10/25 职场文书
签约仪式主持词
2014/03/19 职场文书
房屋出售协议书
2014/04/10 职场文书
初二学习计划书范文
2014/04/27 职场文书
依法行政工作汇报
2014/10/28 职场文书
2014年教师教学工作总结
2014/11/08 职场文书
银行给客户的感谢信
2015/01/23 职场文书
销售开票员岗位职责
2015/04/15 职场文书
大学开学典礼新闻稿
2015/07/17 职场文书
php双向队列实例讲解
2021/11/17 PHP
悬疑名作《朋友游戏》动画无字ED宣传片 新角色公开
2022/04/13 日漫