Ich habe eine Klasse, die Methoden von NSXMLParser implementiert und ein XML-Dokument analysiert. Da die Klasse zum Analysieren mehrerer XML-Dokumente verwendet wird, ändern sich die Schlüssel, die an meine Klasse übergeben werden.Dynamisch NSString von NSArray erstellen - NSXMLParser
Wenn ich das Dokument analysiere, überprüfe ich die didStartElement und didEndElement meine Schlüssel und dann in den foundCharacters die Zeichenfolge in einem NSDictionary zu speichern. Das NSDictionary wird über einen Selektor an meinen Stellvertreter zurückgegeben.
Das Problem ist mit der foundCharacters -Methode, die Zeichenfolge, die gespeichert wird, ist teilweise im Dokument.
Was ich denke ist, einen NSString für jeden der Schlüssel und in den foundCharacters zu erstellen, eine Zeichenfolge an die dynamisch erstellte Zeichenfolge für diesen Schlüssel anhängig.
Hier ist mein Array.
Die in meinem Parser mit der folgenden Methode übergeben wird.
-(void) parseArticles:(NSString *)url keys:(NSArray *)findKeys containingString:(NSString *)containing withDelegate:(id)aDelegate {
keys = findKeys;
[self setDelegate:aDelegate];
responseData = [NSMutableData data];
NSURL *baseUrl = [NSURL URLWithString:url];
NSLog(@"Loading URL: %@", url);
[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
NSURLRequest *request = [NSURLRequest requestWithURL:baseUrl];
(void)[[NSURLConnection alloc] initWithRequest:request delegate:self];
}
Hier ist meine Foundcharacters Methode
-(void) parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {
for(NSString *toFind in keys){
if([currentItem isEqualToString:toFind]) [item setObject:string forKey:toFind];
}
}