Xcode GData库解析XML

@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);

Xcode IOS GData库解析XML

IOS官方没有专门提供解析XML的库,所以需要借助第三方库来解析XML,这里介绍其中其中一种解析方法-----Google提供的在IOS平台上解析XML的开源库GDataXML,特点解析效率高,使用方便.下载地址:http://pan.baidu.com/s/1dD3st7F

ps:iOS有解析xml的方法, http://www.raywenderlich.com/553/how-to-chose-the-best-xml-parser-for-your-iphone-project,但是效率低,使用不方便

1. 首先将下载的GData文件夹(里面包含GDataXmlNode.h和GDataXMLNode.m文件)拖拽到项目中,注意要选中"Copy items into destination group‘s folder",不要只是简单的引用

2.  选中项目根节点 --> 进入右边的Build Phases选项卡 --> 选第3个 (Link Binary With Libraries),点+号添加

-->输入"libxml"搜索 --> 选中第2个(libxml2.dylib) --> Add

3. 选择"Build Settings"选项卡, 在搜索框中输入"gar",关闭ARC功能, 原因是GData库开发的比较早,不支持ARC 

4.  还是在"Build Settings"选项卡, 在搜索框中输入"header search",点第二个(Header Search Paths)右侧,弹出框中点+号,输入"usr/include/libxml2"

5.  还是在"Build Settings"选项卡, 在搜索框中输入"other linker",点第二个Other Linker Flags右侧,输入"-lxml2"

 到这里第三方库配置完成!

//获取xml格式数据路径,文件扩展名不一定要xml, 只要里面的内容是xml格式就可以,但是文件中第一行一定要是<?xml version="1.0" encoding="utf-8"?> 不能有空白行,否则会报错

NSString *strPath = [[NSBundle mainBundle] pathForResource:@"sns" ofType:@"txt"];

//加载数据到内存中

NSData *data = [NSData dataWithContentsOfFile:strPath];

NSError *error= nil;

//将data原始数据格式转换为xml文档格式

//将xml文本数据转化为GDataXMLDocument类的对象

//并且将xml文件转化为GDataXMLDocument内管理的树形内存数据

GDataXMLDocument *doc = [[GDataXMLDocument alloc] initWithData:data options:0 error:&error];

NSLog(@"xml parse error = %@",error);

//获得xml文件的根节点

GDataXMLElement *rootElem = [doc rootElement];

//获得根节点所有名字为count的节点,所有返回值为数组

NSArray *arrayCount = [rootElem elementsForName:@"count"];

//获得数组中的最后一个<count>节点,因为只有一个,所以arrayCount中只有一个元素

GDataXMLElement *countElem = [arrayCount lastObject];

//获得<count>节点的值

NSString *strCount = [countElem stringValue];

NSLog(@"<count> = %@",strCount);

//获得唯一的<user_list>根节点

GDataXMLElement *userListElem = [[rootElem elementsForName:@"user_list"] lastObject];

//获得<user_list>根节点下的<user>子节点

NSArray *arrayUser = [userListElem elementsForName:@"user"];

//遍历<user_list>根节点下的5个<user>节点

for (GDataXMLElement *userElem in arrayUser)

{

NSMutableDictionary *dicUser = [[NSMutableDictionary alloc] init];

// 获得<user>节点下的<username>节点

GDataXMLElement *userName = [[userElem elementsForName:@"username"] lastObject];

//取得<username>节点的值

NSString *strUname = [userName stringValue];

//获得<user>节点下的<realname>节点

GDataXMLElement *userRealNameElem = [[userElem elementsForName:@"realname"] lastObject];

//取得<realname>节点的值

NSString *strRname = [userRealNameElem stringValue];

//......

}

转载请标明原文地址 http://www.cnblogs.com/chengfang/p/4122852.html

@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);

时间: 2024-10-13 18:44:49

Xcode GData库解析XML的相关文章

windows客户端开发--使用tinyxml库解析xml文件

例如,微信windows客户端使用的duilib库中,界面就是用xml进行描述的. 所以,今天我们就来谈一谈windows客户端中,也就是C++中如何解析xml. 很多时候,我们都使用.ini文件来存储一些数据. xml确实是有很多的优点,某种程度上来说也确实可以完全取代ini,但也并非如有些人鼓吹的处处都比ini强. xml,对于描述复杂的数据结构非常的方便,缺点相对ini使用麻烦一点.在表达较短的配置时,没有ini简练.而且因为它有比较严格的格式审查机制,容错性也不是特别好,在手写时容易出现

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-GData解析XML

iOS GData 解析XML 总结 在iOS平台上进行XML解析的方法有很多,在SDK中又自带的解析方法.但是我们更倾向于使用第三方库,原因是解析效率高,使用更加方便.下面介绍Google下的开源库GData解析XML. 可以到http://code.google.com/p/gdata-objectivec-client/source/browse/trunk/Source/XMLSupport/下载源码,下载下来后进入文件夹找到XMLSupport文件夹,将里面的GDataXMLNode.

加载和解析XML文件

加载和解析XML文件 1.XML格式 <?xml version="1.0" encoding="utf-8" ?> 表示XML文件版本, 内部文本使用的编码 <root> 表示根节点 <CityName>北京</CityName> 北京 一个结点, CityName是结点名, 北京结点值 <Item key="1" value="A"></Item> 

IOS解析XML文件

这里使用NSXMLParser来解析,这个是apple自带的xml解析库,有个参考文章:http://www.raywenderlich.com/553/xml-tutorial-for-ios-how-to-choose-the-best-xml-parser-for-your-iphone-project 在Xcode中加入一个xml文件: <?xml version="1.0" encoding="ISO-8859-1"?> <root>

iOS中解析 XML / JSON

JSON数据格式 1. 概述: JSON (JavaScript Object Notation) 是?一种轻量级的数据交换格式 基于?文本格式,易于?人阅读和编写,同时也易于机器解析和?生成. 2. JSON 数据的书写格式是:名称/值 • 名称写在前?面(在双引号中) • 值对写在后?面 • 中间?用冒号隔开 3. JSON 值?支持类型 数字(整数或浮点数) 字符串(在双引号中) 逻辑值(true 或 false) 数组(在中括号中) 对象(在花括号中) null JSON格式?一:最外层

dom4解析 XML

Java XML解析工具 dom4j介绍及使用实例 Java XML解析工具 dom4j介绍及使用实例 dom4j介绍 dom4j的项目地址:http://sourceforge.net/projects/dom4j/?source=directory dom4j是一个简单的开源库,用于处理XML. XPath和XSLT,它基于Java平台,使用Java的集合框架,全面集成了DOM,SAX和JAXP. dom4j的使用 下载了dom4j项目之后,解压缩,将其jar包(我的当前版本叫做dom4j-

IOS开发使用NSXMLParser、GDataXML两种方式解析XML数据

概括:XML数据解析方式有 *IOS原生的NSXMLParser,只支持SAX方式解析,使用简单 *C语言的libxml2,同时支持DOM和SAX方式解析 *google的GDataXML,只支持DOM方式解析,基于libxml2,使用时需要将编译环境配置为非ARC,并添加libxml2.dylib动态库 GDataXMLDocument 1 使用GDataXML的DOM方式解析XML,需要导入#import "GDataXMLNode.h" /** *  DOM方式解析XML数据 *

iOS多线程与网络开发之解析xml

郝萌主倾心贡献,尊重作者的劳动成果,请勿转载. 如果文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额随意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源码下载:点我传送 游戏官方下载:http://dwz.cn/RwTjl 游戏视频预览:http://dwz.cn/RzHHd 游戏开发博客:http://dwz.cn/RzJzI 游戏源码传送:http://dwz.cn/Nret1 A.XML基本知识 1.xml概念 什么是XML全称是Extensible Markup Lan