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 设计模式(二) 闭包
May 26 Javascript
function foo的原型与prototype属性解惑
Nov 19 Javascript
js怎么终止程序return不行换jfslk
May 30 Javascript
Jquery跳到页面指定位置的方法
May 12 Javascript
javascript模拟评分控件实现方法
May 13 Javascript
BootStrap和jQuery相结合实现可编辑表格
Apr 21 Javascript
js闭包用法实例详解
Dec 13 Javascript
深入理解Commonjs规范及Node模块实现
May 17 Javascript
解决vue中使用Axios调用接口时出现的ie数据处理问题
Aug 13 Javascript
Vue中props的详解
May 16 Javascript
JS删除对象中某一属性案例详解
Sep 08 Javascript
Vant 在vue-cli 4.x中按需加载操作
Nov 05 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
载入进度条 效果
2006/07/08 Javascript
js实现的仿新浪微博完美的时间组件升级版
2011/12/20 Javascript
JS实现简单的Canvas画图实例
2013/07/04 Javascript
用JavaScript计算在UTF-8下存储字符串占用字节数
2013/08/08 Javascript
JavaScript Ajax Json实现上下级下拉框联动效果实例代码
2013/11/23 Javascript
巧用replace将文字表情替换为图片
2014/04/17 Javascript
用jquery模仿的a的title属性的例子
2014/10/22 Javascript
基于jquery实现即时检查格式是否正确的表单
2016/05/06 Javascript
js自定义select下拉框美化特效
2016/05/12 Javascript
论Bootstrap3和Foundation5网格系统的异同
2016/05/16 Javascript
Nodejs抓取html页面内容(推荐)
2016/08/11 NodeJs
Vue项目添加动态浏览器头部title的方法
2018/07/11 Javascript
vue实现评论列表功能
2019/10/25 Javascript
JS document内容及样式操作完整示例
2020/01/14 Javascript
[40:27]完美世界DOTA2联赛PWL S3 PXG vs GXR 第一场 12.19
2020/12/24 DOTA
Win7上搭建Cocos2d-x 3.1.1开发环境
2014/07/03 Python
python通过shutil实现快速文件复制的方法
2015/03/14 Python
Python使用bs4获取58同城城市分类的方法
2015/07/08 Python
Python的Django框架中的表单处理示例
2015/07/17 Python
Python的dict字典结构操作方法学习笔记
2016/05/07 Python
深入理解python对json的操作总结
2017/01/05 Python
详解Python nose单元测试框架的安装与使用
2017/12/20 Python
Python实现删除时保留特定文件夹和文件的示例
2018/04/27 Python
Python列表生成式与生成器操作示例
2018/08/01 Python
Pycharm设置去除显示的波浪线方法
2018/10/28 Python
在python中对变量判断是否为None的三种方法总结
2019/01/23 Python
django中forms组件的使用与注意
2019/07/08 Python
Python定时任务APScheduler的实例实例详解
2019/07/22 Python
Python模块future用法原理详解
2020/01/20 Python
python解释器pycharm安装及环境变量配置教程图文详解
2020/02/26 Python
HTML5离线缓存在tomcat下部署可实现图片flash等离线浏览
2012/12/13 HTML / CSS
html5 video标签屏蔽右键视频另存为的js代码
2013/11/12 HTML / CSS
体验完美剃须:The Art of Shaving
2018/08/06 全球购物
Myprotein西班牙官网:欧洲第一大运动营养品牌
2020/02/24 全球购物
PHP面试题大全
2015/10/16 面试题
学校校庆演讲稿
2014/05/22 职场文书