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 photoFrame 图片边框美化显示插件
Jun 28 Javascript
JQuery魔力之$(&quot;tagName&quot;)与selector
Mar 05 Javascript
jQuery使用数组编写图片无缝向左滚动
Dec 11 Javascript
jquery实现带复选框的表格行选中删除时高亮显示
Aug 01 Javascript
jquery固定底网站底部菜单效果
Aug 13 Javascript
Javascript模仿淘宝信用评价实例(附源码)
Nov 26 Javascript
完全深入学习Bootstrap表单
Nov 28 Javascript
js实现显示手机号码效果
Mar 09 Javascript
基于百度地图api清除指定覆盖物(Overlay)的方法
Jan 26 Javascript
JQuery Ajax跨域调用和非跨域调用问题实例分析
Apr 16 jQuery
从零撸一个pc端vue的ui组件库( 计数器组件 )
Aug 08 Javascript
详解Vue的mixin策略
Nov 19 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/06/04 PHP
ThinkPHP模板判断输出Defined标签用法详解
2014/06/30 PHP
PHP+Mysql树型结构(无限分类)数据库设计的2种方式实例
2014/07/15 PHP
php实现的click captcha点击验证码类实例
2014/09/23 PHP
php保存任意网络图片到服务器的方法
2015/04/14 PHP
javascript中文本框中输入法切换的问题
2013/12/10 Javascript
JS对话框_JS模态对话框showModalDialog用法总结
2014/01/11 Javascript
jQuery中siblings()方法用法实例
2015/01/08 Javascript
JS+CSS实现六级网站导航主菜单效果
2015/09/28 Javascript
AngularJS教程之MVC体系结构详解
2016/08/16 Javascript
理解AngularJs篇:30分钟快速掌握AngularJs
2016/12/23 Javascript
基于JQuery的购物车添加删除以及结算功能示例
2017/03/08 Javascript
使用JavaScript根据图片获取条形码的方法
2017/07/04 Javascript
jfinal与bootstrap的登出实战详解
2017/11/27 Javascript
vue登录注册及token验证实现代码
2017/12/14 Javascript
vue将时间戳转换成自定义时间格式的方法
2018/03/02 Javascript
JS实现进度条动态加载特效
2020/03/25 Javascript
用Python制作检测Linux运行信息的工具的教程
2015/04/01 Python
Python Socket实现简单TCP Server/client功能示例
2017/08/05 Python
详解Python网络框架Django和Scrapy安装指南
2019/04/01 Python
python实现Excel文件转换为TXT文件
2019/04/28 Python
python 猴子补丁(monkey patch)
2019/06/26 Python
对Python中一维向量和一维向量转置相乘的方法详解
2019/08/26 Python
jupyter note 实现将数据保存为word
2020/04/14 Python
python3字符串输出常见面试题总结
2020/12/01 Python
python matlab库简单用法讲解
2020/12/31 Python
H5最强接口之canvas实现动态图形功能
2019/05/31 HTML / CSS
莫斯科制造商的廉价皮大衣:Fursk
2020/06/09 全球购物
教师年终个人自我评价
2013/10/04 职场文书
打架检讨书100字
2014/01/08 职场文书
快餐店的创业计划书范文
2014/01/29 职场文书
探亲假请假条
2014/04/11 职场文书
教学副校长工作总结
2015/08/13 职场文书
管理者们如何制定2019年的工作计划?
2019/07/01 职场文书
webpack的移动端适配方案小结
2021/07/25 Javascript
一文了解MySQL二级索引的查询过程
2022/02/24 MySQL