Hauptmenü

Werkzeuge

Kategorien

Archiv

XML Verarbeitung mit dem IPhone

Erstellt in IPhone SDK am 20. November 2011 vom Daschmi

Um eine XML Datei mit dem IPhone SDK zu verarbeiten kann der NSXMLParser in Verbingung mit dem Interface NSXMLParserDelegate verwendet werden. Möchte man beispielsweise eine XML Datei aus dem Web verarbeiten so kann folgender Aufruf verwendet werden:

dataParser = [[NSXMLParser alloc] initWithContentsOfURL:[NSURL URLWithString:strURL]];
[dataParser setDelegate:self];
[dataParser parse];
[dataParser release];

In dem Beispiel implementiert die Klasse des aufrufenden Objekts das Interface NSXMLParserDelegate.

Mit folgenden Funktionen kann man Textinhalte aus den XML Knoten verarbeiten:


- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary *)attributeDict
{

 if ([elementName isEqualToString:@"immobilie"])
 {

 immobilie = [[Immobilie alloc] init];

 }

 strPath = [strPath stringByAppendingPathComponent:elementName];

}

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {

 if ([strPath isEqualToString:@"openimmo/immobilie/geo/plz"])
 {
 NSLog(string);
 }

}

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{

 strPath = [strPath stringByDeletingLastPathComponent];

}

Im Beispiel wird in der Variable strPath der Pfad innerhalb des XML gespeichert.