three 20 解析 xml

前端之家收集整理的这篇文章主要介绍了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

{

@H_301_163@ [_mallMessageDownLoadRequest@H_301_163@release@H_301_163@];

@H_301_163@ [_mallMessageUpDateRequest@H_301_163@release@H_301_163@];

[superdealloc];

}


-(void)cancleRequest

{

@H_301_163@ [self@H_301_163@cancleDownLoadRequest@H_301_163@];

@H_301_163@ [self@H_301_163@cancleUpDateRequest@H_301_163@];

}


-(void)sendDownLoadMallMessageRequest

{

@H_301_163@ self@H_301_163@.mallMessageDownLoadRequest@H_301_163@ = [TTURLRequest@H_301_163@requestWithURL@H_301_163@:CMBC_DOWNLOAD_MESSAGE_URL@H_301_163@delegate@H_301_163@:self@H_301_163@];

@H_301_163@ [self@H_301_163@.mallMessageDownLoadRequest@H_301_163@setHttpMethod@H_301_163@:Request_HttpMethod_Get@H_301_163@];

@H_301_163@ [self@H_301_163@.mallMessageDownLoadRequest@H_301_163@setContentType@H_301_163@:@"appliction/xml"@H_301_163@];

@H_301_163@ TTURLXMLResponse@H_301_163@ *response = [[TTURLXMLResponse@H_301_163@alloc@H_301_163@]init@H_301_163@];

@H_301_163@ self@H_301_163@.mallMessageDownLoadRequest@H_301_163@.response@H_301_163@ = response;

@H_301_163@ response.isRSSFeed@H_301_163@ =YES@H_301_163@;//导致 xml root 只有一个

[response release];

@H_301_163@ [self@H_301_163@.mallMessageDownLoadRequest@H_301_163@send@H_301_163@];

}


-(void)cancleDownLoadRequest

{

@H_301_163@ if@H_301_163@ (_mallMessageDownLoadRequest@H_301_163@ && [_mallMessageDownLoadRequest@H_301_163@isLoading@H_301_163@])

{

@H_301_163@ [_mallMessageDownLoadRequest@H_301_163@cancel@H_301_163@];

}

}


-(void)sendUpDateMessageRequest

{


}


-(void)cancleUpDateRequest

{

@H_301_163@ if@H_301_163@ (_mallMessageUpDateRequest@H_301_163@ && [_mallMessageUpDateRequest@H_301_163@isLoading@H_301_163@])

{

@H_301_163@ [_mallMessageUpDateRequest@H_301_163@cancel@H_301_163@];

}

}


-(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"];

@H_301_163@ //NSInteger arraycount = messagearray.count;

@H_301_163@ CMBCMallPromptMessage@H_301_163@ *mallPromptmessage = [[CMBCMallPromptMessage@H_301_163@alloc@H_301_163@]init@H_301_163@];


for (id item in messagearray) {

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

@H_301_163@ // 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;

}

}



@H_301_163@ [CMBCMallPromptMessage@H_301_163@saveMallPromptMessageToUserDefault@H_301_163@:mallPromptmessage];

}


#pragma TTURLRequest delegate回调


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

{


}


-(void)requestDidFinishLoad:(TTURLRequest *)request

{

@H_301_163@ if@H_301_163@ (request ==self@H_301_163@.mallMessageDownLoadRequest@H_301_163@) {

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

//parserXML

[selfparserXMLResponse:request.response];

}

}

@H_301_163@ else@H_301_163@if@H_301_163@ (request ==self@H_301_163@.mallMessageUpDateRequest@H_301_163@)

{

}


}


@end


注释: @H_301_163@response.isRSSFeed@H_301_163@=YES@H_301_163@;//导致xml root只有一个
不设置 isRSSFeed 会导致 xml 解析失败 只有一个root

猜你在找的XML相关文章