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 }
  • 相关阅读:
    《构建之法》阅读笔记02
    《构建之法》阅读笔记01
    学习进度
    “校园知网”端午假期冲刺计划书
    学习进度
    计算最长英语单词链
    第一周冲刺_周日总结
    构建之法阅读笔记03
    第一周冲刺_周六总结
    软件工程概论第十四周学习进度
  • 原文地址:https://www.cnblogs.com/dongweiq/p/3653626.html
Copyright © 2011-2022 走看看