一、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示例
 
示例:
  1. <root>
  2. <name value="wusj"/>
  3. <age>24</age>
  4. </root>
 
对此xml文件进行解析
 
  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方法小结
 
     最终的数据读出都是在GDataXMLElement对象中读出的,以下方法均为GDataXMLElement类的方法
     1、name方法,取标签名 e.g name标签的名称“name”
     2、attributeForName: 取属性结点 再调stringValue即可取到属性值 e.g name标签中的value属性
     3、stringValue: 取标签间的字符串值  e.g: age间的24

第三方:GDataXMLNode:xml解析库--备用的更多相关文章

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

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

  2. GDataXMLNode:xml解析库

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

  3. EXPAT(XML解析库)

    一.简介 expat是一个由C语言编写的XML解析库.James Clark创建了这个库,现在是制定XML标准的W3组织的技术leader.现在的版本是2.0.2.0开始就由Clark Cooper领 ...

  4. Swift XML解析库 - SwiftyXMLParser

    经过在CocoaPods中筛选以后,发这个这个比较好用,整理出来 如果有需要可以在Pods命令端输入: pod search xml 这样会搜索出很多相关Xml的第三方库 SwiftyXMLParse ...

  5. Python的html和xml解析库Beautiful Soup

    网站:http://www.crummy.com/software/BeautifulSoup/ 版权声明:本文博主原创文章,博客,未经同意不得转载.

  6. 关于iOS中几种第三方对XML/JSON数据解析的使用

    Json XML 大数据时代,我们需要从网络中获取海量的新鲜的各种信息,就不免要跟着两个家伙打交道,这是两种结构化的数据交换格式.一般来讲,我们会从网络获取XML或者Json格式的数据,这些数据有着特 ...

  7. iOS开发 XML解析和下拉刷新,上拉加载更多

    iOS开发 XML解析和下拉刷新,上拉加载更多 1.XML格式 <?xml version="1.0" encoding="utf-8" ?> 表示 ...

  8. Java高级程序设计笔记 • 【第5章 XML解析】

    全部章节   >>>> 本章目录 5.1 XML 文档概述 5.1.1 XML文档结构 5.1.1 XML结构说明 5.1.1 XML文档元素 5.1.2 XML文档语法规范 ...

  9. XML解析器(转)

    常见C/C++ XML解析器有tinyxml.XERCES.squashxml.xmlite.pugxml.libxml等等,这些解析器有些是支持多语言的,有些只是单纯C/C++的.如果你是第一次接触 ...

随机推荐

  1. HDU 2876 Ellipse, again and again

    转载请注明出处:http://blog.csdn.net/u012860063?viewmode=contents 题目链接:http://acm.hdu.edu.cn/showproblem.php ...

  2. hadoop错误org.apache.hadoop.mapred.MapTask$NewOutputCollector@17bda0f2

    错误: org.apache.hadoop.mapred.MapTask$NewOutputCollector@17bda0f2 java.io.IOException: Spill failed 错 ...

  3. Servlet中文乱码解决方法

    程序中的输入输出都是以流的形式保存的,流中保存的实际上全都是字节文件. 字节流和字符流的区别: 在Java.io包中操作文件内容的主要有两大类:字节流.字符流,两类都分为输入和输出操作. 在字节流中输 ...

  4. android之frame动画详解

    上一篇我们说了android中的tween动画,这一篇我们说说frame动画,frame动画主要是实现了一种类似于gif动画的效果,就是多张图按预先设定好的时间依次连续显示. 新建一个android项 ...

  5. windows 进程间通讯方法

    Windows平台为我们提供了多种进程间通信的机制,主要包括:注册表方式.共享文件方式.共享内存方式.共享数据段.映射文件方式.管道方式. 剪贴板方式.消息方式.其中注册表方式需要增加注册表表项,而注 ...

  6. centos 安装mysqldb 记录

    vim setup_pofix.py #修改mysql_config路径 <pre> ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /us ...

  7. CentOS7安装vim7.4

    卸载自带vim yum remove vim-enhanced vim-common 下载vim包 wget ftp://ftp.vim.org/pub/vim/unix/vim-7.4.tar.bz ...

  8. spring 3.1.4 升 4.0.2

          来自为知笔记(Wiz)

  9. 学习java随笔第十篇:java线程

    线程生命周期 线程的生命周期:新建状态.准备状态.运行状态.等待/阻塞状态.死亡状态 示意图: 定义.创建及运行线程 线程: package threadrun; //定义一个实现Runnable接口 ...

  10. 再次回首 TCP Socket服务器编程

    转载:http://www.cnblogs.com/zc22/archive/2010/06/27/1766007.html ------------------ 前言 --------------- ...