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刷票思路和方法
Apr 07 Javascript
jQuery实现自定义事件的方法
Apr 17 Javascript
微信小程序  生命周期详解
Oct 27 Javascript
BootStrap Table 后台数据绑定、特殊列处理、排序功能
May 27 Javascript
简单的网页广告特效实例
Aug 19 Javascript
jQuery UI 实例讲解 - 日期选择器(Datepicker)
Sep 18 jQuery
vue实现学生录入系统之添加删除功能
Jul 11 Javascript
vue中选项卡点击切换且能滑动切换功能的实现代码
Nov 25 Javascript
原生JS实现图片懒加载之页面性能优化
Apr 26 Javascript
JS中的函数与对象的创建方式
May 12 Javascript
原生JS 实现的input输入时表格过滤操作示例
Aug 03 Javascript
小程序实现多个选项卡切换
Jun 19 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
基于mysql的bbs设计(一)
2006/10/09 PHP
setcookie中Cannot modify header information-headers already sent by错误的解决方法详解
2013/05/08 PHP
PHP命名空间namespace的定义方法详解
2017/03/29 PHP
PHP创建单例后台进程的方法示例
2017/05/23 PHP
PHP使用PDO抽象层获取查询结果的方法示例
2018/05/10 PHP
thinkPHP5框架中widget的功能与用法详解
2018/06/11 PHP
PHP中-&gt;和=&gt;的含义及使用示例解析
2020/08/06 PHP
PHP执行linux命令6个函数代码实例
2020/11/24 PHP
jquery 页面滚动到底部自动加载插件集合
2014/01/31 Javascript
ListBox实现上移,下移,左移,右移的简单实例
2014/02/13 Javascript
jquery中获得元素尺寸和坐标的方法整理
2014/05/18 Javascript
jQuery中的jQuery()方法用法分析
2014/12/27 Javascript
jQuery 1.9.1源码分析系列(十四)之常用jQuery工具
2015/12/02 Javascript
浅谈JavaScript的计时器对象
2016/12/26 Javascript
基于node打包可执行文件工具_Pkg使用心得分享
2018/01/24 Javascript
Angular浏览器插件Batarang介绍及使用
2018/02/07 Javascript
安装vue-cli的简易过程
2018/05/22 Javascript
详解微信小程序canvas圆角矩形的绘制的方法
2018/08/22 Javascript
JS获取并处理php数组的方法实例分析
2018/09/04 Javascript
ng-events类似ionic中Events的angular全局事件
2018/09/05 Javascript
解决IE11 vue +webpack 项目中数据更新后页面没有刷新的问题
2018/09/25 Javascript
使用wxpython实现的一个简单图片浏览器实例
2014/07/10 Python
Python进程间通信Queue消息队列用法分析
2019/05/22 Python
Python控制Firefox方法总结
2019/06/03 Python
Python hexstring-list-str之间的转换方法
2019/06/12 Python
python版百度语音识别功能
2019/07/09 Python
python网络爬虫 CrawlSpider使用详解
2019/09/27 Python
超酷炫 CSS3垂直手风琴菜单
2016/06/28 HTML / CSS
澳大利亚在线时尚精品店:Hello Molly
2018/02/26 全球购物
意大利奢侈品多品牌集合店:TheDoubleF
2019/08/24 全球购物
大学活动邀请函
2014/01/28 职场文书
四年级科学教学反思
2014/02/10 职场文书
贷款担保书
2015/01/20 职场文书
聘任证明怎么写
2015/03/02 职场文书
Python访问Redis的详细操作
2021/06/26 Python
使用 DataAnt 监控 Apache APISIX的原理解析
2022/07/07 Servers