iOS-XML解析

XML 解析:

//配置GData库
//配置XML库(配置完才能使用)
    //(1)添加头文件搜索路径
    //      Header Search Paths-> /usr/include/libxml2
    //(2)添加二进制库
    //  Link library ->  libxml2.dylib
    //(3)源文件添加编译选项
    //      -fno-objc-arc
    //(4)添加头文件
    //  #import "GDataXMLNode.h"


#import “GDataXMLNode.h"


//  xml网络数据解析
- (void)xmlUse
{
    
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
    manager.responseSerializer = [AFHTTPResponseSerializer serializer];
    [manager GET:_urlString parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
        
        GDataXMLDocument *doc = [[GDataXMLDocument alloc]initWithData:responseObject options:0 error:nil];
        NSLog(@"%@",doc);
        NSArray *array = [doc nodesForXPath:@"//newslist" error:nil];
        for(GDataXMLElement *e in array)
        {
            
        NSString *id = [[[e elementsForName:@"id"] firstObject] stringValue];
        NSString *price = [[[e elementsForName:@"price"] firstObject] stringValue];
        NSString *name = [[[e elementsForName:@"name"] firstObject] firstObject];


        }


        
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        
    }];
}


- (void)xmlBasicUse
{
    NSString *path = [[NSBundle mainBundle] pathForResource:@"xml.txt" ofType:nil];
    NSData *data = [[NSData alloc]initWithContentsOfFile:path];
    
    GDataXMLDocument *doc = [[GDataXMLDocument alloc]initWithData:data options:0 error:nil];
    NSArray *array = [doc nodesForXPath:@"//promotion" error:nil];
    for(GDataXMLElement *e in array)
    {
        NSLog(@"name = %@",e.name);
        NSString *id = [[[e elementsForName:@"id"] firstObject] stringValue];
        NSString *price = [[[e elementsForName:@"price"] firstObject] stringValue];
        NSString *name = [[[e elementsForName:@"name"] firstObject] firstObject];
        
        NSLog(@"%@ - %@ - %@",id,name,price);
        
        PromotionModel *model = [[PromotionModel alloc]init];
        model.id = id;
        model.name = name;
        model.price = price;
    }
}


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • SAX和DOM,NSXMLParser和GDataXML和ONOXML 基于不同的API有两种不同的解析方式: 1...
    它是一只肥猫阅读 4,007评论 0 1
  • //联系人:石虎QQ: 1224614774昵称:嗡嘛呢叭咪哄 XML出身名门,W3C主推的网络数据传输格式,IB...
    石虎132阅读 3,064评论 0 16
  • XML分为两种解析方式 第一种是 逐行解析方式 -- 使用系统解析器NSXMLParser 如下代码 需要签订协议...
    J_HX阅读 4,068评论 0 1
  • 解析的概念 解析:从事先规定好的格式中提取数据。 解析的前提:提前约定好格式,数据提供方按照格式提供数据,数据获取...
    逗逗豆豆笑阅读 4,845评论 2 14
  • 准备关灯就寝的时候,一只老鼠在卧室里从衣柜后面慌张得爬向窗外。嗯,它比上次肥了很多~最近伙食不错!估计是到点觅食了...
    妮喃阅读 1,639评论 0 0

友情链接更多精彩内容