Con AFNetworking es muy fácil leer respuestas en XML o JSON que entregue un servidor.
Aquí un ejemplo con XML:
Primero deben bajar el AFNetworking a su computador desde el link:
https://github.com/AFNetworking/AFNetworking
Una vez descargada, descomprime la carpeta. Ahora contaras con una carpeta con un nombre similar (o igual) a: AFNetworking-AFNetworking-211cdfc
Ahora anda a XCode, selecciona tu proyecto, anda a Archivo y haz clic en la opción "Agregar archivo a <nombre_de_tu_proyecto>". Ahi busquen la carpeta AFNetworking-AFNetworking-211cdfc, ábranla y seleccionen la carpeta AFNetworking que está adentro.
Ya estás listo para empezar a conectarte con tu servidor.
Para empezar debes agregar los archivos al encabezado:
Ahora falta crear las funciones para parsear el archivo XML, esto se puede lograr de diferentes maneras. Aquí muestro una:
Cualquier cosa dejen un comentario!
Aquí un ejemplo con XML:
Primero deben bajar el AFNetworking a su computador desde el link:
https://github.com/AFNetworking/AFNetworking
Una vez descargada, descomprime la carpeta. Ahora contaras con una carpeta con un nombre similar (o igual) a: AFNetworking-AFNetworking-211cdfc
Ahora anda a XCode, selecciona tu proyecto, anda a Archivo y haz clic en la opción "Agregar archivo a <nombre_de_tu_proyecto>". Ahi busquen la carpeta AFNetworking-AFNetworking-211cdfc, ábranla y seleccionen la carpeta AFNetworking que está adentro.
Ya estás listo para empezar a conectarte con tu servidor.
Para empezar debes agregar los archivos al encabezado:
Luego debes iniciar la comunicación con el servidor y obtener el XML.#import "AFXMLRequestOperation.h"#import "AFHTTPClient.h"
//Supongamos que deseamos enviar el mail y contraseña a nuestro servidor para obtener una respuesta cuando un usuario intenta iniciar sesión.
NSString *email = [self.txtUsername text];NSString *contrasena = [self.txtPassword text];//Crea un NSDictonary con los parámetrosNSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:email, @"email",contrasena, @"contrasena",nil];//Indica la url de tu servidorNSURL *url = [[NSURL alloc] initWithString:@"http://www.miservidor.com"];AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:url];[httpClient registerHTTPOperationClass:[AFXMLRequestOperation class]];[httpClient setDefaultHeader:@"Accept" value:@"application/xml"];//Indica donde se debe hacer la petición
NSMutableURLRequest *request1 = [httpClient requestWithMethod:@"POST" path:@"/iniciar_sesion" parameters:params];AFXMLRequestOperation *operation = [AFXMLRequestOperation XMLParserRequestOperationWithRequest:request1 success:^(NSURLRequest *request, NSHTTPURLResponse *response, NSXMLParser *XMLParser) {XMLParser.delegate = self;//Aquí leemos la respuesta del XML[XMLParser parse];} failure:nil];//Aquí iniciamos la llamada[operation start];
Ahora falta crear las funciones para parsear el archivo XML, esto se puede lograr de diferentes maneras. Aquí muestro una:
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary *)attributeDict{self.currentElement = [elementName copy];self.ElementValue = [[NSMutableString alloc] init];//Ejemplo de lecturaif ([elementName isEqualToString:@"algun-campo"]) {// hacer algo, ejemplo imprimir un mensaje...}}- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{[self.ElementValue appendString:string];}- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementNamenamespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {if([elementName isEqualToString:@"algun-campo"]){//hacer alguna acción, por ejemplo:
NSLog(self.ElementValue);}}
Cualquier cosa dejen un comentario!
No comments:
Post a Comment