WSDL / XML que analiza el objective iOS C

Me gustaría recibir ayuda para analizar esta Respuesta. Creo que es WSDL y quisiera marcar la secuencia "Exitosamente ingresada". A continuación se muestra el código:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sch="http://example.com/reg/abc"> <soapenv:Header/> <soapenv:Body> <sch:LoginResponse> <sch:Status code=200>Successfully Entenetworking</sch:Status> <sch:Message>[CDATA[Successfully Entenetworking]]</sch:Message> </sch:LoginResponse> </soapenv:Body> </soapenv:Envelope> 

EDIT: A continuación se muestra el código que he implementado

 -(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *) namespaceURI qualifiedName:(NSString *)qName attributes: (NSDictionary *)attributeDict { NSLog(@"START ELEMENT NAME ==> %@", elementName); if( [elementName isEqualToString:@"sch:Status"]) { if(!soapResults) { soapResults = [[NSMutableString alloc] init]; } elementFound = YES; } } -(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string { if( elementFound ) { [soapResults appendString:string]; } } -(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName { NSLog(@"END ELEMENT NAME ==> %@", elementName); if( [elementName isEqualToString:@"sch:Status"]) { NSLog(@"Found ==> %@", soapResults); [soapResults setString:@""]; elementFound = FALSE; } } 

El logging de printing muestra hasta sch:LoginResponse y no viene al nombre del elemento sch:Status

Según nuestro chat, el problema está en la línea:

 <sch:Status code=200>Successfully Entenetworking</sch:Status> 

Cuando el code=200 se cambia a code="200" se analiza correctamente.

En otras palabras, el XML tiene un formatting incorrecto. Se supone que los attributes tienen una cita única ( ' ) o doble ( " ) alnetworkingedor de los datos. (Consulte la recomendación del W3C XML )

Además, el delegado detecta el error NSXMLParserAttributeNotStartedError en el XML cuando no se modifica:

 - (void)parser:(NSXMLParser *)parser parseErrorOccurnetworking:(NSError *)parseError { NSLog(@"Error: %@", parseError.localizedDescription); } 

Si el XML debe recuperarse de esta manera, antes de analizarlo puede usar esto para rodearlo con comillas para que sea válido, sin embargo, necesitará hacerlo para cada posible code=### :

 yourXMLString = [yourXMLString stringByReplacingOccurrencesOfString:@"code=200" withString:@"code=\"200\""];