一、GDataXMLNode说明

GDataXMLNode是Google提供的用于XML数据处理的类集。该类集对libxml2--DOM处理方式进行了封装,能对较小或中等的xml文档进行读写操作且支持XPath语法。

使用方法:
1、获取GDataXMLNode.h/m文件,将GDataXMLNode.h/m文件添加到工程中(ps:从下载下来的工程中直接搜索GDataXMLNode.h/m就行了)
2、向工程中增加“libxml2.dylib”库
3、在工程的“Build Settings”页中找到“Header Search Path”项,添加/usr/include/libxml2"到路径中
4、因为GDataXMLNode.h/m是用MRC写的所以需要配置一下:

可以在Build Phases中的Compile Sources中加入编译标记-fno-objc-arc,确实可行,但是文件好多,这种方式适合文件比较少的情况,文件多了难道我们要一个一个加嘛,这 时候我们可以借助一个工具xproj,这是一个脚本,可以很方便的给某个文件夹内的文件添加编译标记,具体使用方法我们看项目主页就行了,既可以给ARC 项目添加MRC标记(-fno-objc-arc),也可以给MRC项目添加ARC标记(-fobjc-arc)。

5、添加“GDataXMLNode.h”文件到头文件中,如工程能编译通过,则说明GDataXMLNode添加成功
二、GDataXMLNode示例
示例:
[html] view plain copy
  1. <root>
  2. <name value="wusj"/>
  3. <age>24</age>
  4. </root>
对此xml文件进行解析
[cpp] view plain copy
  1. NSString *xmlPath = [[NSBundlemainBundle] pathForResource:@"test"ofType:@"xml"];
  2. NSString *xmlString = [NSStringstringWithContentsOfFile:xmlPath encoding:NSUTF8StringEncodingerror:nil];
  3. GDataXMLDocument *xmlDoc = [[GDataXMLDocumentalloc] initWithXMLString:xmlString options:0error:nil];
  4. GDataXMLElement *xmlEle = [xmlDoc rootElement];
  5. NSArray *array = [xmlEle children];
  6. NSLog(@"count : %d", [array count]);
  7. for (int i = 0; i < [array count]; i++) {
  8. GDataXMLElement *ele = [array objectAtIndex:i];
  9. // 根据标签名判断
  10. if ([[ele name] isEqualToString:@"name"]) {
  11. // 读标签里面的属性
  12. NSLog(@"name --> %@", [[ele attributeForName:@"value"] stringValue]);
  13. } else {
  14. // 直接读标签间的String
  15. NSLog(@"age --> %@", [ele stringValue]);
  16. }
  17. }
    运行结果:
    
三、GDataXMLNode方法小结
[html] view plain copy
  1. <root>
  2. <name value="wusj"/>
  3. <age>24</age>
  4. </root>
     最终的数据读出都是在GDataXMLElement对象中读出的,以下方法均为GDataXMLElement类的方法
     1、name方法,取标签名  (name标签的名称“name”)
     2、attributeForName: 取属性结点 再调stringValue即可取到属性值 ( name标签中的value属性)
     3、stringValue: 取标签间的字符串值  ( age间的24)

GDataXMLNode:xml解析库相关推荐

  1. IOS学习:常用第三方库(GDataXMLNode:xml解析库)

    IOS学习:常用第三方库(GDataXMLNode:xml解析库) 解析 XML 通常有两种方式,DOM 和 SAX: DOM解析XML时,读入整个XML文档并构建一个驻留内存的树结构(节点树),通过 ...

  2. Linux下ACE、xml解析库开发环境搭建

    一.安装环境   1.安装vmware12.0版本 2.安装centos6.6的镜像文件 3.安装vmare_tool工具(方便虚拟机与实体机的切换) 4.配置网络      虚拟机网络连接方式:桥接 ...

  3. xml解析库对比总结(解析方式,第三方库,TinyXml)

    一. 解析方式 xml的2种解析方式(DOM和SAX解析方式): https://blog.csdn.net/weixin_42472048/article/details/81264570 dom解 ...

  4. c语言自定义的xml解析库,轻量级C语言实现的xml解析库minixml

    搜索热词 1下载:http://www.msweet.org/downloads.PHP?L+Z3 2说明:@H_404_4@Mini-XML是一个小型的开源的XML解析器,采用 C 语言开发.该解析 ...

  5. xml解析库pugixml的基本用法

    本文将介绍常用的pugixml的api函数使用方法. 在使用pugixml库时,需包含头文件 #include "pugixml.hpp" 首先需要实例化一个xml文件类 pugi ...

  6. python代码示例下载-python下xml解析库lxml最新版下载安装以及代码示例

    abc 123 def 456 ghi

  7. 服务器开发24补充:市面上一些xml第三方库解析速度的对比,tinyxml、tinyxml2、Qt、RapidXml、PugiXml,和tinyxml与tinyxml2的对比

    文章目录 零.背景前提 一.Qt - QDomDocument 1)测试代码 2)测试结果 二.TinyXml(略) 三.TinyXml2 1)测试代码 2)运行效果及结论 四.RapidXml 1) ...

  8. XML解析简介及Xerces-C++简单使用举例

    XML是由World WideWeb联盟(W3C)定义的元语言.它已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便.XML在不同的语言里解析方式 ...

  9. java xml开源操作类,xml解析和操作的开源工具项目涵盖java c++ php 等语言

    XML解析器-Xerces    XML操作库-dom4j    XML文档解析器-Digester    J2ME-的XML-解析器-kXML XML解析类库-MXP1    XML解析器-LibX ...

最新文章

  1. kotlin ++ --_顺便说一句-探索Kotlin代表团
  2. 「软件」2.0时代已经到来,你需要这样的开发工具
  3. IOS 从系统图库中获取 图片 并设置为头像
  4. Spring Boot 以 jar 包方式运行在后台
  5. 创建交叉表_【零售】Tableau LOD+表计算做交叉购买分析
  6. 机器学习的敲门砖:手把手教你TensorFlow初级入门
  7. 【错误记录】反射时调用方法及成员报错 ( 执行反射方法 | 设置反射的成员变量 | 设置方法/成员可见性 )
  8. 避免showModalDialog打开的窗口Page_Load只执行一次
  9. idea报错 电脑死机蓝屏
  10. [HNOI2008 Tree]
  11. 生成BAPI的ALE接口
  12. 80)PHP,扩展工具类
  13. easydarwin php,EasyDarwin返回401 Unauthorized解决方法
  14. SpringBoot-短信发送
  15. 20210726:FLAC刻录音乐CD教程04-wav格式刻录CD
  16. Navicat常用快捷键汇总
  17. 软件开发与软件研发的区别
  18. 棚卸資産管理の用語一覧(Glossary of inventory control terms and phrases)
  19. html5抓鱼游戏,小班捉小鱼游戏教案
  20. L2-032 彩虹瓶

热门文章

  1. metaProdigal:宏基因组序列中的基因和翻译起始位点预测
  2. 东北大米为何如此好吃
  3. Microbiome:微生物组研究中优化方法和规避误区
  4. android switcher控件,Android ViewSwitcher 的功能与用法
  5. R语言plotly可视化:可视化直方图、归一化的直方图、水平直方图、互相重叠的直方图、堆叠的直方图、累积直方图、通过bingroup参数设置多个直方图使用相同的bins设置、自定义直方图条形的间距
  6. R语言偏相关或者部分相关性系数计算实战:使用psych包计算(Partial Correlation)偏相关或者部分相关性系数并用建设检验检验相关性的显著性
  7. R语言explore包进行探索性数据分析实战(EDA、exploratory data analysis):基于iris数据集
  8. R语言neuralnet包构建神经网络模型:基于乳腺癌数据集
  9. python将ElasticSearch索引数据读入pandas dataframe实战
  10. linux服务管理命令systemctl