zoukankan      html  css  js  c++  java
  • GDataXML的配置和使用

    1.下载链接:http://code.google.com/p/gdata-objectivec-client/downloads/list下载“gdata-objective-c client library.”

    2.项目引入: 解压缩文件,找到SourceXMLSupport,并且将其中的GDataXMLNode.h 和 GDataXMLNode.m文件拖到项目中

    3. 项目编译支持配置:

    1). 选中项目,选中“Build Settings”标签页

    2 ). 将Build Settings页中,顶部的“Basic”标签切换到“All”

    3). 找到“PathsHeader Search Paths”项,并添加“/usr/include/libxml2”到列表中

    4). 找到“LinkingOther Linker Flags”项,并添加“-lxml2”到列表中

    4。 在要用到的地方引入“#import "GDataXMLNode.h"”

    然后就可以使用了,下面的是一个自己项目 中使用的小例子

     1 /**
     2  解析webservice返回的XML成一个NSDictionary
     3  参数:content ,要解析的数据
     4  参数:path   ,要解析的XML数据一个根节点
     5  返回:NSDictionary
     6  */
     7 + (NSDictionary *)getWebServiceXMLResult:(NSString *) content xpath:(NSString *)path
     8 {
     9     NSMutableDictionary *resultDict = [[NSMutableDictionary alloc] init];
    10     content =  [content stringByReplacingOccurrencesOfString:@"&lt;" withString:@"<"];
    11     content =  [content stringByReplacingOccurrencesOfString:@"&gt;" withString:@">"];        
    12     content = [content stringByReplacingOccurrencesOfString:@"xmlns" withString:@"noNSxml"];
    13     NSError *docError = nil;
    14     GDataXMLDocument *document = [[GDataXMLDocument alloc] initWithXMLString:content options:0 error:&docError];
    15     if(!docError)
    16     {
    17         NSArray *children = nil;
    18         children = [document nodesForXPath:[NSString stringWithFormat:@"//%@",path] error:&docError];
    19         if(!docError)
    20         {
    21             if(children && [children count]>0)
    22             {
    23                 GDataXMLElement *rootElement = (GDataXMLElement *)[children objectAtIndex:0];
    24                 NSArray *nodearr = [rootElement children];
    25                 for (int i = 0; i<[nodearr count]; i++) {
    26                     GDataXMLElement *element = (GDataXMLElement *)[nodearr objectAtIndex:i];
    27                     [resultDict setObject:[element stringValue] forKey:[element name]];
    28                 }
    29             }
    30         }
    31     }
    32     [document release];
    33     return [resultDict autorelease];
    34 }
  • 相关阅读:
    记第一场省选
    POJ 2083 Fractal 分形
    CodeForces 605A Sorting Railway Cars 思维
    FZU 1896 神奇的魔法数 dp
    FZU 1893 内存管理 模拟
    FZU 1894 志愿者选拔 单调队列
    FZU 1920 Left Mouse Button 简单搜索
    FZU 2086 餐厅点餐
    poj 2299 Ultra-QuickSort 逆序对模版题
    COMP9313 week4a MapReduce
  • 原文地址:https://www.cnblogs.com/dongweiq/p/3653626.html
Copyright © 2011-2022 走看看