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写的一个TableView控件代码
Jan 23 Javascript
ie下$.getJSON出现问题的解决方法
Feb 12 Javascript
JavaScript中的6种运算符总结
Oct 16 Javascript
JS验证图片格式和大小并预览的简单实例
Oct 11 Javascript
无法获取隐藏元素宽度和高度的解决方案
Mar 07 Javascript
ES6新特性七:数组的扩充详解
Apr 21 Javascript
基于jQuery实现的Ajax 验证用户名唯一性实例代码
Jun 28 jQuery
在vue项目中安装使用Mint-UI的方法
Dec 27 Javascript
vue实现todolist功能、todolist组件拆分及todolist的删除功能
Apr 11 Javascript
解决layui调用自定义方法提示未定义的问题
Sep 14 Javascript
vue实现的封装全局filter并统一管理操作示例
Feb 02 Javascript
基于angular实现树形二级表格
Oct 16 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写入数据库类代码分享
2011/07/26 PHP
TMDPHP 模板引擎使用教程
2012/03/13 PHP
与文件上传有关的php配置参数总结
2013/06/14 PHP
深入PHP数据加密详解
2013/06/18 PHP
php使用正则表达式进行字符串搜索的方法
2015/03/23 PHP
php通过两层过滤获取留言内容的方法
2016/07/11 PHP
PHP图片添加水印功能示例小结
2016/10/03 PHP
PHP封装的非对称加密RSA算法示例
2018/05/28 PHP
PHP使用函数用法详解
2018/09/30 PHP
Laravel框架实现简单的学生信息管理平台案例
2019/05/07 PHP
一个高效的JavaScript压缩工具下载集合
2007/03/06 Javascript
Jquery读取URL参数小例子
2013/08/30 Javascript
Javascript仿PHP $_GET获取URL中的参数
2014/05/12 Javascript
Nodejs抓取html页面内容(推荐)
2016/08/11 NodeJs
bootstrap-datetimepicker实现只显示到日期的方法
2016/11/25 Javascript
在vue项目中使用element-ui的Upload上传组件的示例
2018/02/08 Javascript
Node.js创建HTTP文件服务器的使用示例
2018/05/11 Javascript
Webpack中雪碧图插件使用详解
2018/05/25 Javascript
vue实现类似淘宝商品评价页面星级评价及上传多张图片功能
2018/10/29 Javascript
JavaScript实现图片的放大缩小及拖拽功能示例
2019/05/14 Javascript
茶余饭后聊聊Vue3.0响应式数据那些事儿
2019/10/30 Javascript
理解python多线程(python多线程简明教程)
2014/06/09 Python
详解python中executemany和序列的使用方法
2017/08/12 Python
Python排序搜索基本算法之冒泡排序实例分析
2017/12/09 Python
python列表,字典,元组简单用法示例
2019/07/11 Python
django 信号调度机制详解
2019/07/19 Python
Win10系统下安装labelme及json文件批量转化方法
2019/07/30 Python
Lulu & Georgia官方网站:购买地毯、家具、抱枕、壁纸、床上用品等
2018/03/19 全球购物
英国假睫毛购买网站:FalseEyelashes.co.uk
2018/05/23 全球购物
军训心得体会
2013/12/31 职场文书
品质主管岗位职责
2014/03/16 职场文书
2014年校长工作总结
2014/12/11 职场文书
中学生勤俭节约倡议书
2015/04/29 职场文书
2016七夕情人节寄语
2015/12/04 职场文书
使用Redis做预定库存缓存功能
2022/04/02 Redis
不负正版帝国之名 《重返帝国》引领SLG手游制作新的标杆
2022/04/07 其他游戏