Estoy trabajando en una aplicación que hace una búsqueda en un servidor privado y muestra los resultados al usuario. El problema es que NSXLParser no puede analizar los caracteres especiales de alemán y francés. Por ejemplo: debería ser: (Geschäftsführer) -> lo que obtengo es: (äftsführer)NSXMLParser no puede analizar caracteres especiales (alemán y francés)
¿Cómo puedo solucionar esto?
aquí es mi código:
- (void) parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
currentNodeContent = (NSMutableString *) [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
}
- (void) parser:(NSXMLParser *)parser didStartElement:(NSString *)elementname namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
if ([elementname isEqualToString:@"results"])
{
currentJob = [SearchResult alloc];
}
}
- (void) parser:(NSXMLParser *)parser didEndElement:(NSString *)elementname namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
if ([elementname isEqualToString:@"jobTitle"])
{
currentJob.jobTitle = currentNodeContent;
}
if ([elementname isEqualToString:@"location"])
{
currentJob.shortAddress = currentNodeContent;
}
if ([elementname isEqualToString:@"companyName"])
{
currentJob.employer = currentNodeContent;
}
if ([elementname isEqualToString:@"results"])
{
[self.jobs addObject:currentJob];
currentJob = nil;
currentNodeContent = nil;
}
}
Cualquier ayuda sería muy apreciada ... Gracias de antemano
¿Puedes dar un enlace al archivo XML que estás analizando? – kuba
también su método 'foundCharacters' es incorrecto: puede obtener más de una llamada a esta función incluso para un valor de cadena simple – kuba