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 相关文章推荐
用JS操作FRAME中的IFRAME及其内容的实现代码
Jul 26 Javascript
jQuery ajax在GBK编码下表单提交终极解决方案(非二次编码方法)
Oct 20 Javascript
js 中{},[]中括号,大括号使用详解
May 12 Javascript
js操作CheckBoxList实现全选/反选(在客服端完成)
Feb 02 Javascript
【经验总结】编写JavaScript代码时应遵循的14条规律
Jun 20 Javascript
JavaScript事件处理程序详解
Sep 19 Javascript
解决ie11 SCRIPT5011:不能执行已释放Script的代码问题
May 05 Javascript
jquery实现二级导航下拉菜单效果实例
May 14 jQuery
微信小程序使用 vant Dialog组件的正确方式
Feb 21 Javascript
解决VueCil代理本地proxytable无效报错404的问题
Nov 07 Javascript
vue element实现表格合并行数据
Nov 30 Vue.js
基于Vue3.0开发轻量级手机端弹框组件V3Popup的场景分析
Dec 30 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生成缩略图填充白边(等比缩略图方案)
2013/12/25 PHP
PHP中source #N问题的解决方法
2014/01/27 PHP
php+ajax导入大数据时产生的问题处理
2014/06/11 PHP
php实现对短信验证码发送次数的限制实例讲解
2021/03/04 PHP
javascript字符串拼接的效率问题
2010/12/25 Javascript
js写一个弹出层并锁屏效果实现代码
2012/12/07 Javascript
让新消息在网页标题闪烁提示的jQuery代码
2013/11/04 Javascript
javascript实例--教你实现扑克牌洗牌功能
2014/05/15 Javascript
AngularJS 让人爱不释手的八种功能
2016/03/23 Javascript
JS检测移动端横竖屏的代码
2016/05/30 Javascript
vue开发心得和技巧分享
2016/10/27 Javascript
从零开始学习Node.js系列教程之SQLite3和MongoDB用法分析
2017/04/13 Javascript
AngularJS实现动态添加Option的方法
2017/05/17 Javascript
微信小程序 获取二维码实例详解
2017/06/23 Javascript
[js高手之路]从原型链开始图解继承到组合继承的产生详解
2017/08/28 Javascript
基于javascript中的typeof和类型判断(详解)
2017/10/27 Javascript
详解刷新页面vuex数据不消失和不跳转页面的解决
2018/01/30 Javascript
npm 下载指定版本的组件方法
2018/05/17 Javascript
Chart.js 轻量级HTML5图表绘制工具库(知识整理)
2018/05/22 Javascript
Bootstrap4 gulp 配置详解
2019/01/06 Javascript
vue-router懒加载的3种方式汇总
2021/02/28 Vue.js
python基于windows平台锁定键盘输入的方法
2015/03/05 Python
如何准确判断请求是搜索引擎爬虫(蜘蛛)发出的请求
2015/10/13 Python
100行Python代码实现自动抢火车票(附源码)
2018/01/11 Python
教你用Python写安卓游戏外挂
2018/01/11 Python
Django密码存储策略分析
2020/01/09 Python
解决python replace函数替换无效问题
2020/01/18 Python
django admin 添加自定义链接方式
2020/03/11 Python
如何使用python socket模块实现简单的文件下载
2020/09/04 Python
button在IE6/7下的黑边去除方案
2012/12/24 HTML / CSS
艺术设计专业求职自荐信
2014/05/19 职场文书
环境工程专业自荐信范文
2014/06/24 职场文书
2014年文艺部工作总结
2014/11/17 职场文书
世界环境日活动总结
2015/02/11 职场文书
南极大冒险观后感
2015/06/05 职场文书
Python内置数据类型中的集合详解
2022/03/18 Python