Sto lavorando su un'app, che effettua una ricerca su un server privato e mostra i risultati all'utente. Il problema è che NSXLParser non può analizzare i caratteri speciali tedeschi e francesi. Ad esempio: dovrebbe essere: (Geschäftsführer) -> quello che ottengo è: (äftsführer)NSXMLParser non può analizzare caratteri speciali (tedesco e francese)
Come posso risolvere questo?
Ecco il mio codice:
- (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;
}
}
Qualsiasi aiuto sarebbe molto apprezzato ... Grazie in anticipo
puoi fornire un collegamento al file XML che stai analizzando? – kuba
anche il metodo 'foundCharacters' è sbagliato - puoi ottenere più di una chiamata a questa funzione anche per un singolo valore di stringa – kuba