Gdata XML解析配置和簡單使用,gdataxml解析配置

來源:互聯網
上載者:User

Gdata XML解析配置和簡單使用,gdataxml解析配置

匯入libxml2,使用第三方AFNetworking網路請求,第三方XML解析GData

GData需要的配置 Build Settings 裡搜尋,添加如下

如果是ARC ,需要加上 -fno-objc-arc

首先找一個xml網址使用AFNetworking請求得到NSData資料

#define HTTP_URL_GET @"http://lab.hudong.com/ipad/zutujingxuan.xml"
- (void)getRequest {    AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc]                                              init];    //返回資料解析    manager.responseSerializer = [AFHTTPResponseSerializer serializer];    //AFJSONResponseSerializer responseObject就是jeson解析後的對象(有可能是字典)    //AFXMLParserResponseSerializer responseObject就是NSXMLPareser對象    //AFHTTPRequestOperationManager responseObject就是NSData        [manager GET:HTTP_URL_GET parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {        NSLog(@"%@",responseObject);//        NSXMLParser        [self xml:responseObject];    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {        NSLog(@"error:%@.",error.localizedDescription);    }];    }

先開啟Firefox瀏覽器看xml的階層(複製網址在Firefox瀏覽器上開啟)

使用GData解析,記住一層一層解析

- (void)xml:(NSData *)data {      //建立一個解析對象    GDataXMLDocument *document = [[GDataXMLDocument alloc]initWithData:data options:0 error:nil];    //擷取根節點    GDataXMLElement *rootElement = document.rootElement;    NSLog(@"name: %@,stringvaule: %@",rootElement.name,rootElement.stringValue);    GDataXMLElement *channeName = [rootElement elementsForName:@"channelName"].firstObject;    NSLog(@"%@---%@",channeName.name,channeName.stringValue);    //取多組    // //docInfo 直接跳過前面的子節點,知道取到名字對應的子節點    //    NSArray *docInfos = [rootEiement nodesForXPath:@"//docInfo" error:nil]    NSArray *docInfos = [[rootElement elementsForName:@"docList"].firstObject elementsForName:@"docInfo"];        for (GDataXMLElement *docInfoElement in docInfos) {        NSMutableDictionary * dic = [NSMutableDictionary dictionary];        for (GDataXMLElement *elment in [docInfoElement children]) {            [dic setObject:elment.stringValue forKey:elment.name];        }        [_allInfos addObject:dic];    }    NSLog(@"%@",_allInfos);}

最後是用一個全域的NSMutableArray接收列印,~

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.