GDataXML
1.下载链接:下载“gdata-objective-c client library.”
2.项目引入: 解压缩文件,找到Source\XMLSupport,并且将其中的GDataXMLNode.h 和 GDataXMLNode.m文件拖到项目中
3. 项目编译支持配置:
1). 选中项目,选中“Build Settings”标签页
2 ). 将Build Settings页中,顶部的“Basic”标签切换到“All”
3). 找到“Paths\Header Search Paths”项,并添加“/usr/include/libxml2”到列表中
4). 找到“Linking\Other Linker Flags”项,并添加“-lxml2”到列表中
4。 在要用到的地方引入“#import "GDataXMLNode.h"”
然后就可以使用了,下面的是一个自己项目 中使用的小例子
/** 解析webservice返回的XML成一个NSDictionary 参数:content ,要解析的数据 参数:path ,要解析的XML数据一个根节点 返回:NSDictionary */+ (NSDictionary *)getWebServiceXMLResult:(NSString *) content xpath:(NSString *)path{ NSMutableDictionary *resultDict = [[NSMutableDictionary alloc] init]; content = [content stringByReplacingOccurrencesOfString:@"<" withString:@"<"]; content = [content stringByReplacingOccurrencesOfString:@">" withString:@">"]; content = [content stringByReplacingOccurrencesOfString:@"xmlns" withString:@"noNSxml"]; NSError *docError = nil; GDataXMLDocument *document = [[GDataXMLDocument alloc] initWithXMLString:content options:0 error:&docError]; if(!docError) { NSArray *children = nil; children = [document nodesForXPath:[NSString stringWithFormat:@"//%@",path] error:&docError]; if(!docError) { if(children && [children count]>0) { GDataXMLElement *rootElement = (GDataXMLElement *)[children objectAtIndex:0]; NSArray *nodearr = [rootElement children]; for (int i = 0; i<[nodearr count]; i++) { GDataXMLElement *element = (GDataXMLElement *)[nodearr objectAtIndex:i]; [resultDict setObject:[element stringValue] forKey:[element name]]; } } } } [document release]; return [resultDict autorelease];}