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 相关文章推荐
addRule在firefox下的兼容写法
Nov 30 Javascript
js的闭包的一个示例说明
Nov 18 Javascript
js 获取Listbox选择的值的代码
Apr 15 Javascript
myeclipse安装jQuery插件的方法
Mar 29 Javascript
jQuery实现的Div窗口震动特效
Jun 09 Javascript
PHP+mysql+Highcharts生成饼状图
May 04 Javascript
使用jQuery监听DOM元素大小变化
Feb 24 Javascript
工作中常用的js、jquery自定义扩展函数代码片段汇总
Dec 22 Javascript
JS排序算法之冒泡排序,选择排序与插入排序实例分析
Dec 13 Javascript
vue项目移动端实现ip输入框问题
Mar 19 Javascript
layer弹出层自适应高度,垂直水平居中的实现
Sep 16 Javascript
JS实现canvas简单小画板功能
Jun 23 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
服务器端解压缩zip的脚本
2006/12/22 PHP
php判断变量类型常用方法
2012/04/24 PHP
PHP最常用的2种设计模式工厂模式和单例模式介绍
2012/08/14 PHP
用php制作简单分页(从数据库读取记录)的方法详解
2013/05/04 PHP
php json_encode值中大括号与花括号区别
2013/09/30 PHP
php根据isbn书号查询amazon网站上的图书信息的示例
2014/02/13 PHP
PHP实现的线索二叉树及二叉树遍历方法详解
2016/04/25 PHP
JavaScript日历实现代码
2010/09/12 Javascript
基于jquery的合并table相同单元格的插件(精简版)
2011/04/05 Javascript
alert和confirm功能介绍
2014/05/21 Javascript
分享20款美化网站的 jQuery Lightbox 灯箱插件
2014/10/10 Javascript
js实现当复选框选择匿名登录时隐藏登录框效果
2015/08/14 Javascript
深入浅析NodeJs并发异步的回调处理
2015/12/21 NodeJs
javascript获取wx.config内部字段解决微信分享
2016/03/09 Javascript
javascript html5轻松实现拖动功能
2017/03/01 Javascript
移动端web滚动分页的实现方法
2017/05/05 Javascript
DVA框架统一处理所有页面的loading状态
2017/08/25 Javascript
JS实现按钮颜色切换效果
2020/09/05 Javascript
vue组件的写法汇总
2018/04/12 Javascript
vue keep-alive请求数据的方法示例
2018/05/16 Javascript
nuxt.js 缓存实践
2018/06/25 Javascript
three.js利用卷积法如何实现物体描边效果
2019/11/27 Javascript
vue.js iview打包上线后字体图标不显示解决办法
2020/01/20 Javascript
[01:02:03]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS VG
2014/05/26 DOTA
python使用os模块的os.walk遍历文件夹示例
2014/01/27 Python
在Mac OS上部署Nginx和FastCGI以及Flask框架的教程
2015/05/02 Python
python字符串的常用操作方法小结
2016/05/21 Python
python安装教程 Pycharm安装详细教程
2017/05/02 Python
Python退火算法在高次方程的应用
2018/07/26 Python
python实现简单的购物程序代码实例
2020/03/03 Python
西尔斯百货官网:Sears
2016/09/06 全球购物
美国婚礼和派对礼品网站:Kate Aspen(新娘送礼会、迎婴派对)
2018/03/28 全球购物
房产代理公证处委托书
2014/04/04 职场文书
2014年酒店工作总结范文
2014/11/17 职场文书
水电施工员岗位职责
2015/04/11 职场文书
四年级语文教学反思
2016/03/03 职场文书