当前位置: 首页 > news >正文

川沙网站建设网站推广服务外包有哪些渠道

川沙网站建设,网站推广服务外包有哪些渠道,南阳做网站多少电话,装修公司加盟店排行榜IOS学习#xff1a;常用第三方库#xff08;GDataXMLNode#xff1a;xml解析库#xff09; 解析 XML 通常有两种方式#xff0c;DOM 和 SAX#xff1a; DOM解析XML时#xff0c;读入整个XML文档并构建一个驻留内存的树结构#xff08;节点树#xff09;#xff0c;通…  IOS学习常用第三方库GDataXMLNodexml解析库   解析 XML 通常有两种方式DOM 和 SAX DOM解析XML时读入整个XML文档并构建一个驻留内存的树结构节点树通过遍历树结构可以检索任意XML节点读取它的属性和值。而且通常情况下可以借助XPath直接查询XML节点。 SAX解析XML是基于事件通知的模式一边读取XML文档一边处理不必等整个文档加载完之后才采取操作当在读取解析过程中遇到需要处理的对象会发出通知对其进行处理。 一般在iOS平台下比较常用的XML解析类库有如下几种 NSXMLParserhttp://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Classes/NSXMLParser_Class/Reference/Reference.html 这是一个SAX方式解析XML的类库默认包含在iOS SDK中使用也比较简单。 libxml2http://xmlsoft.org/是一套默认包含在iOS SDK中的开源类库它是基于C语言的API所以使用起来可能不如NSXML方便。这套类库同时支持DOM和SAX解析libxml2的SAX解析方式还是非常酷的因为它可以边读取边解析尤其是在从网上下载一个很大的XML文件就可以一边下载一边对已经下载好的内容进行解析极大的提高解析效率。 TBXMLhttp://www.tbxml.co.uk/TBXML/TBXML_Free.html这是一套轻量级的DOM方式的XML解析类库有很好的性能和低内存占用不过它不对XML格式进行校验不支持XPath并且只支持解析不支持对XML进行修改。 TouchXMLhttps://github.com/TouchCode/TouchXML这也是一套DOM方式的XML解析类库支持XPath不支持XML的修改。 KissXMLhttp://code.google.com/p/kissxml/这是一套基于TouchXML的XML解析类库和TouchXML相比支持了XML的修改。 TinyXMLhttp://www.grinninglizard.com/tinyxml/这是一套小巧的基于C语言的DOM方式进行XML解析的类库支持对XML的读取和修改不直接支持XPath需要借助另一个相关的类库TinyXPath才可以支持XPath。 GDataXMLhttp://code.google.com/p/gdata-objectivec-client/source/browse/trunk/Source/XMLSupport/这是一套Google开发的DOM方式XML解析类库支持读取和修改XML文档支持XPath方式查询。   一、GDataXMLNode说明   GDataXMLNode是Google提供的用于XML数据处理的类集。该类集对libxml2--DOM处理方式进行了封装能对较小或中等的xml文档进行读写操作且支持XPath语法。   使用方法      1、获取GDataXMLNode.h/m文件将GDataXMLNode.h/m文件添加到工程中      2、向工程中增加“libxml2.dylib”库      3、在工程的“Build Settings”页中找到“Header Search Path”项添加/usr/include/libxml2到路径中      4、添加“GDataXMLNode.h”文件到头文件中如工程能编译通过则说明GDataXMLNode添加成功   二、GDataXMLNode示例   示例 [html] view plaincopy root       name valuewusj/       age24/age  /root     对此xml文件进行解析        [cpp] view plaincopy NSString *xmlPath  [[NSBundlemainBundle] pathForResource:testofType:xml];      NSString *xmlString  [NSStringstringWithContentsOfFile:xmlPath encoding:NSUTF8StringEncodingerror:nil];       GDataXMLDocument *xmlDoc  [[GDataXMLDocument  alloc]  initWithXMLString:xmlString  options:0  error:nil];      GDataXMLElement *xmlEle  [xmlDoc rootElement];      NSArray *array  [xmlEle children];      NSLog(count : %d, [array count]);           for (int i  0; i  [array count]; i) {          GDataXMLElement *ele  [array objectAtIndex:i];                    // 根据标签名判断          if ([[ele name] isEqualToString:name]) {              // 读标签里面的属性              NSLog(name -- %, [[ele attributeForName:value] stringValue]);          } else {              // 直接读标签间的String              NSLog(age -- %, [ele stringValue]);          }               }         运行结果                 三、GDataXMLNode方法小结        最终的数据读出都是在GDataXMLElement对象中读出的以下方法均为GDataXMLElement类的方法      1、name方法取标签名 e.g name标签的名称“name”      2、attributeForName: 取属性结点 再调stringValue即可取到属性值 e.g name标签中的value属性      3、stringValue 取标签间的字符串值  e.g: age间的24   //DOM 解析 - (IBAction)dommethord:(id)sender {       //1,拿到文件     NSString *path [[NSBundle mainBundle] pathForResource:xml ofType:txt];     //2,根据路径拿到数据     NSData *data [NSData dataWithContentsOfFile:path];          //3,创建解析对象     GDataXMLDocument *document [[GDataXMLDocument alloc] initWithData:data options:0 error:nil];       //4,获取根     GDataXMLElement *rootElement document.rootElement;       //初始化数组     _allDataMutaArray [NSMutableArray array];     _allDataMutaString [NSMutableString string];          //5,获取根节点下的 所有子节点     NSArray *stuArrayElement rootElement.children;          //6遍历每一个Student     for (GDataXMLElement *stuElement in stuArrayElement) {         //每遍历一次就 创建一个模型         Student *stu [Student new];         //7遍历子节点         for (GDataXMLElement *stuSubElement in stuElement.children) {             //8使用KVC的方式 对模型对象进行复制             [stu setValue:stuSubElement.stringValue forKey:stuSubElement.name];             //打印             NSLog(% % ,stuSubElement.name,stuSubElement.stringValue);             [_allDataMutaString appendString:stuSubElement.stringValue];         }         //将添加好的模型放入数组中         [_allDataMutaArray addObject:stu];         [stu release];                 NSLog(----%lu,stu.retainCount);             }     NSLog( 数据项  %,_allDataMutaArray);          _textFieldView.text _allDataMutaString;          [document release]; } 转载于:https://www.cnblogs.com/iOS-mt/p/4172059.html
http://www.pierceye.com/news/131806/

相关文章:

  • 网站建设与推广好做吗wordpress+模板+国外
  • 建网站免费空间哪有做logo的网站
  • 找外包做网站要多久网站导航栏条源码
  • php网站开发实践襄樊seo排名
  • 衡水住房和城乡建设局网站939网站建设
  • 晋江网站建设价格中国建筑人才网证书查询
  • 国内永久免费crm系统网站推荐做网站需要学些什么软件
  • 做网站 怎么备案怎么用qq相册做网站
  • 网站建设 公众号免费的网站怎么做
  • 深圳公司网站设计公太原企业网站建设
  • 营销型网站的分类公众号开发信息什么意思
  • 爱写作网站最佳wordpress主机
  • 东山网站制作一站式做网站费用
  • seo针对网站做策划外贸淘宝网站建设
  • 电商网站的建设与运营百度推广营销怎么做
  • 做网站的核验单 是下载的吗北京建设工程招标公告网站
  • 网站建设与维护试卷第九章各网站文风
  • 熊掌号网站的基础建设费用网站的建设ppt模板
  • 有口碑的坪山网站建设王野天 演员
  • 建e网怎么赚钱衡水网站优化
  • 做牙科设计的网站域名一定要备案才能用吗
  • 哪个网站做团购要求低点河北省住房和城乡建设厅网站
  • 华为商城网站建设世界杯大数据
  • 网站流量指标高埗镇仿做网站
  • 网站建设颊算校园网站的作用
  • 云南公司网站制作外贸网站推广外包
  • 甘肃住房建设厅的网站数据中心idc机房
  • wordpress开发视频网站模板下载wordpress qq 微信登录
  • 上海网站建设网站营销推广费计入什么科目
  • 云南培训网站建设网站建设的公司太多了