NSXMLParser вызывает ваш «делегат», который должен реализовывать определенные методы. Когда парсер вызывает вашего делегата, вы в это время получаете данные.
Для моего простого XML-файла я просто реализую основной файл "Элемент", который распознает только <place lat="number" lon="number"...
и запускается следующим образом ...
- (void)parser:(NSXMLParser *)parser
didStartElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI
qualifiedName:(NSString *)qName
attributes:(NSDictionary *)attributeDict
{
// we here recognize our one crucial element, "place", and its attributes.
if([elementName compare:@"place"] == 0)
{
OmWayPoint p = {0};
p.lat = [[attributeDict valueForKey:@"lat"] doubleValue];
p.lon = [[attributeDict valueForKey:@"lon"] doubleValue];
p.alt = [[attributeDict valueForKey:@"alt"] doubleValue];
int wpCount = [self addWayPoint:&p];
...
}