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

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

分类: ios开发学习2013-05-30 09:45 4443人阅读 评论(0) 收藏 举报

iOSXMLGDataXMLNode

一、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

  1. <root>
  2. <name value="wusj"/>
  3. <age>24</age>
  4. </root>

对此xml文件进行解析

[cpp] view plaincopy

  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

时间: 2024-09-30 13:23:05

IOS学习:常用第三方库(GDataXMLNode:xml解析库)的相关文章

pugixml库之xml解析库

前言: 本文介绍c++编写的xml解析库--pugixml,能解析xml内容,支持xpath解析,同时能够跨linux平台,非常方便. 总结一下使用步骤和简单的使用方法: 使用pugixml库需要三个文件:pugiconfig.h/pugixml.h/pugixml.cpp,可直接从gugixml官网下载,将其加入工程,使用处包含头文件pugiconfig.h/pugixml.h即可. 加载xml文件,使用xml_document类的load_file接口: std::strFile = "..

iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角)

iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角) 2015-04-05 15:25 2482人阅读 评论(1) 收藏 举报开源框架 图像: 1.图片浏览控件MWPhotoBrowser       实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存.可对图片进行缩放等操作.      下载:https://github.com/mwaterfall/MWPhotoBrowser目前比较活跃的社区仍旧是Github,

iOS开发-常用第三方开源框架介绍

iOS开发-常用第三方开源框架介绍 图像: 1.图片浏览控件MWPhotoBrowser 实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存.可对图片进行缩放等操作. 下载:https://github.com/mwaterfall/MWPhotoBrowser 目前比较活跃的社区仍旧是Github,除此以外也有一些不错的库散落在Google Code.SourceForge等地方.由于Github社区太过主流,这里主要介绍一下G

ios学习常用网站

iphone开发资源汇总: http://blog.csdn.net/devday/article/details/6664970 快乐开发: http://blog.sina.com.cn/s/articlelist_2455150881_0_2.html IOS TextField用法大全: http://godloong.blog.51cto.com/8652474/1388908 IOS开发者论坛: http://www.codeios.com/ 苹果开发中文站: http://www.

EXPAT(XML解析库)

一.简介 expat是一个由C语言编写的XML解析库.James Clark创建了这个库,现在是制定XML标准的W3组织的技术leader.现在的版本是2.0.2.0开始就由Clark Cooper领导的开发组在sourceforge.net负责开发. expat是一个基于SAX模型的.非验证(默认,v1.2开始提供验证接口,需要用户手动处理)的轻量级XML解释器.目前XML的解析主要有两大模型:SAX和DOM.其中SAX(Simple API for XML)是基于事件的解析方法.基本工作原理

(转)iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角)

图像: 1.图片浏览控件MWPhotoBrowser 实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存.可对图片进行缩放等操作. 下载:https://github.com/mwaterfall/MWPhotoBrowser 目前比较活跃的社区仍旧是Github,除此以外也有一些不错的库散落在Google Code.SourceForge等地方.由于Github社区太过主流,这里主要介绍一下Github里面流行的iOS库. 首先

iOS开发-常用第三方开源框架

特别说明:有些链接是没有用的,如需下载请在github中搜索即可. 图像: 1.图片浏览控件MWPhotoBrowser 实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存.可对图片进行缩放等操作. 下载:https://github.com/mwaterfall/MWPhotoBrowser 目前比较活跃的社区仍旧是Github,除此以外也有一些不错的库散落在Google Code.SourceForge等地方.由于Github

iOS开发常用第三方框架

1.网络通信 1.ASIHTTPRequest 这是一个经典的老库,功能完全而强大,但已经停止更新很久了(iOS5.0停止更新,但是我最近看github上这个项目有新改动).在不同iOS版本上略微有一些小问题(提醒显示上的),所以用的时候还是稍微修改一下比较好. 下载地址:https://github.com/pokeb/asi-http-request 2.AFNetworking 轻量级的通讯类库,使用非常简单. 下载地址:https://github.com/AFNetworking/AF

Swift XML解析库 - SwiftyXMLParser

经过在CocoaPods中筛选以后,发这个这个比较好用,整理出来 如果有需要可以在Pods命令端输入: pod search xml 这样会搜索出很多相关Xml的第三方库 SwiftyXMLParser是在Swift下的一个xml解析第三方库,支持索引,支持keyValue形式访问, 环境和语言支持:iOS 8.0+ ,  Swift 2.0+ 使用: let urlStr = ApiUrl + "/" + xmlFile(newsType) Alamofire.request(.GE