three 20 解析 xml

//

//  CMBCMallMessageEngine.h

//  

//

//  Created by  on 1/31/13.

//  Copyright (c) 2013 P&C,PhoneYeah. All rights reserved.

//


#import<Foundation/Foundation.h>





@interface CMBCMallMessageEngine :NSObject <TTURLRequestDelegate>

{

    TTURLRequest *_mallMessageDownLoadRequest;

    TTURLRequest *_mallMessageUpDateRequest;

}

@property (nonatomic,retain)TTURLRequest *mallMessageDownLoadRequest;

@property (nonatomic,retain)TTURLRequest *mallMessageUpDateRequest;



-(void)cancleRequest;

-(void)sendDownLoadMallMessageRequest;

-(void)cancleDownLoadRequest;

-(void)sendUpDateMessageRequest;

-(void)cancleUpDateRequest;


@end


//

//  CMBCMallMessageEngine.m

//  

//

//  Created by  on 1/31/13.

//  Copyright (c) 2013 P&C,PhoneYeah. All rights reserved.

//


#import"CMBCMallMessageEngine.h"

#import"CMBCMallPromptMessage.h"


@implementation CMBCMallMessageEngine

@synthesize mallMessageDownLoadRequest =_mallMessageDownLoadRequest;

@synthesize mallMessageUpDateRequest =_mallMessageUpDateRequest;


-(void)dealloc

{

    [_mallMessageDownLoadRequestrelease];

    [_mallMessageUpDateRequestrelease];

    [superdealloc];

}


-(void)cancleRequest

{

    [selfcancleDownLoadRequest];

    [selfcancleUpDateRequest];

}


-(void)sendDownLoadMallMessageRequest

{

   self.mallMessageDownLoadRequest = [TTURLRequestrequestWithURL:CMBC_DOWNLOAD_MESSAGE_URLdelegate:self];

    [self.mallMessageDownLoadRequestsetHttpMethod:Request_HttpMethod_Get];

    [self.mallMessageDownLoadRequestsetContentType:@"appliction/xml"];

   TTURLXMLResponse *response = [[TTURLXMLResponsealloc]init];

   self.mallMessageDownLoadRequest.response = response;

    response.isRssFeed =YES;//导致 xml root 只有一个

    [response release];

    [self.mallMessageDownLoadRequestsend];

}


-(void)cancleDownLoadRequest

{

   if (_mallMessageDownLoadRequest && [_mallMessageDownLoadRequestisLoading])

    {

        [_mallMessageDownLoadRequestcancel];

    }

}


-(void)sendUpDateMessageRequest

{


}


-(void)cancleUpDateRequest

{

   if (_mallMessageUpDateRequest && [_mallMessageUpDateRequestisLoading])

    {

        [_mallMessageUpDateRequestcancel];

    }

}


-(void)parserXMLResponse:(TTURLXMLResponse *)response

{

    TTURLXMLResponse *mallmessageResponse = (TTURLXMLResponse *)response;

    NSDictionary *mallmessageRoot = mallmessageResponse.rootObject;

    NSDictionary *messagelist = [mallmessageRoot objectForKey:@"mesgLists"];

    NSDictionary *messagel = [messagelist objectForKey:@"mesgList"];

    NSArray *messagearray = [messagel objectForKey:@"mesg"];

    

   //NSInteger arraycount = messagearray.count;

    

   CMBCMallPromptMessage *mallPromptmessage = [[CMBCMallPromptMessagealloc]init];


    for (id item in messagearray) {

        

        NSString * messageId = [[item objectForKey:@"busiId"]objectForXMLNode];

      // NSString *messageId = @"1001";

        NSString *message = [[item objectForKey:@"busiText"]objectForXMLNode];

        

        if ([messageId isEqualToString:@"1001"]) {

            mallPromptmessage.cinemaTicketMessage = message;

        }

        else if([messageId isEqualToString:@"1002"])

        {

            mallPromptmessage.gameCardMessage = message;

        }

        else if([messageId isEqualToString:@"1003"])

        {

            mallPromptmessage.passengerTicketMessage = message;

        

        }

        else if([messageId isEqualToString:@"1004"])

        {

            mallPromptmessage.interMarketmessage = message;

        

        }

        

    }



    [CMBCMallPromptMessagesaveMallPromptMessageToUserDefault:mallPromptmessage];

}


#pragma TTURLRequest delegate回调


-(void)request:(TTURLRequest *)request didFailLoadWithError:(NSError *)error

{


}


-(void)requestDidFinishLoad:(TTURLRequest *)request

{

   if (request ==self.mallMessageDownLoadRequest) {

        

        if ([request.response isKindOfClass:[TTURLXMLResponse class]]) {

            //parserXML

            

            [selfparserXMLResponse:request.response];

        }

    }

   elseif (request ==self.mallMessageUpDateRequest)

    {

        

    }


}


@end


注释:   response.isRssFeed = YES// 导致 xml root 只有一个 
不设置 isRssFeed 会导致 xml 解析失败 只有一个root
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值