Étant donné cette structure XML à partir de (http://localhost:3000/route.xml):
20:01
Place a
Place b
20:16
Walking
20:16
Place b
Place c
20:32
By car
En utilisant le code Objective-C suivant :
Implémentation de la vue
- (void)viewDidLoad
{
[super viewDidLoad];
// Effectuer une configuration supplémentaire après le chargement de la vue, généralement à partir d'un nib.
// URL localhost à des fins de test
NSURL *url = [[NSURL alloc] initWithString:@"http://localhost:3000/route.xml"];
// Initialiser l'analyseur
NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithContentsOfURL:url];
[xmlParser setDelegate:self];
//Commencer l'analyse du fichier XML.
BOOL success = [xmlParser parse];
if(success)
NSLog(@"Aucune erreur");
else
NSLog(@"Erreurs !!!!!!!!E!!!");
}
#pragma mark XMLParser delegate
- (void)parserDidStartDocument:(NSXMLParser *)parser
{
NSLog(@"Document commencé", nil);
}
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName
attributes:(NSDictionary *)attributeDict {
if([elementName isEqualToString:@"trip0"]) {
//Initialiser le tableau.
NSLog(@"Trouvé trip0 !");
}
NSLog(@"Traitement de l'élément : %@", elementName);
}
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {
NSLog(@"Traitement de la valeur : %@", string);
}
Je suis capable d'obtenir ceci comme sortie :
2011-11-16 19:34:06.006 SandboxTabBar[11754:11603] Traitement de l'élément : objects
2011-11-16 19:34:06.008 SandboxTabBar[11754:11603] Traitement de la valeur :
2011-11-16 19:34:06.009 SandboxTabBar[11754:11603] Traitement de l'élément : object
2011-11-16 19:34:06.009 SandboxTabBar[11754:11603] Traitement de la valeur :
2011-11-16 19:34:06.010 SandboxTabBar[11754:11603] Trouvé trip0 !!
2011-11-16 19:34:06.010 SandboxTabBar[11754:11603] Traitement de l'élément : trip0
2011-11-16 19:34:06.011 SandboxTabBar[11754:11603] Traitement de la valeur :
2011-11-16 19:34:06.011 SandboxTabBar[11754:11603] Traitement de l'élément : departure
2011-11-16 19:34:06.012 SandboxTabBar[11754:11603] Traitement de la valeur : 20:01
2011-11-16 19:34:06.012 SandboxTabBar[11754:11603] Traitement de la valeur :
2011-11-16 19:34:06.013 SandboxTabBar[11754:11603] Traitement de l'élément : start
2011-11-16 19:34:06.013 SandboxTabBar[11754:11603] Traitement de la valeur : Place a
2011-11-16 19:34:06.014 SandboxTabBar[11754:11603] Traitement de la valeur :
2011-11-16 19:34:06.015 SandboxTabBar[11754:11603] Traitement de l'élément : end
2011-11-16 19:34:06.015 SandboxTabBar[11754:11603] Traitement de la valeur : Place b
2011-11-16 19:34:06.207 SandboxTabBar[11754:11603] Traitement de la valeur :
2011-11-16 19:34:06.208 SandboxTabBar[11754:11603] Traitement de l'élément : arrival
2011-11-16 19:34:06.209 SandboxTabBar[11754:11603] Traitement de la valeur : 20:16
2011-11-16 19:34:06.210 SandboxTabBar[11754:11603] Traitement de la valeur :
2011-11-16 19:34:06.211 SandboxTabBar[11754:11603] Traitement de l'élément : how
2011-11-16 19:34:06.212 SandboxTabBar[11754:11603] Traitement de la valeur : walking
2011-11-16 19:34:06.213 SandboxTabBar[11754:11603] Traitement de la valeur : 15 min
2011-11-16 19:34:06.214 SandboxTabBar[11754:11603] Traitement de la valeur :
2011-11-16 19:34:06.215 SandboxTabBar[11754:11603] Traitement de la valeur :
2011-11-16 19:34:06.216 SandboxTabBar[11754:11603] Traitement de la valeur :
2011-11-16 19:34:06.217 SandboxTabBar[11754:11603] Traitement de l'élément : object
2011-11-16 19:34:06.218 SandboxTabBar[11754:11603] Traitement de la valeur :
2011-11-16 19:34:06.219 SandboxTabBar[11754:11603] Traitement de l'élément : trip1
2011-11-16 19:34:06.220 SandboxTabBar[11754:11603] Traitement de la valeur :
2011-11-16 19:34:06.221 SandboxTabBar[11754:11603] Traitement de l'élément : departure
2011-11-16 19:34:06.222 SandboxTabBar[11754:11603] Traitement de la valeur : 20:32
2011-11-16 19:34:06.223 SandboxTabBar[11754:11603] Traitement de la valeur:
2011-11-16 19:34:06.221 SandboxTabBar[11754:11603] Traitement de l'élément : start
2011-11-16 19:34:06.222 SandboxTabBar[11754:11603] Traitement de la valeur : Place b
2011-11-16 19:34:06.223 SandboxTabBar[11754:11603] Traitement de la valeur:
Et ainsi de suite ...
Je veux remplir des UITableViews avec du contenu comme ceci :
"Le départ du trajet 0 est à 20:01 de Place A à Place b et est arrivé à 20:16 en marchant."
et
"Le départ du trajet 1 est à 20:16 de Place b à Place c et est arrivé à 20:32 en voiture"
Il doit y avoir un moyen plus simple de sélectionner et de combiner les nœuds dont j'ai besoin dans le fichier XML.
Comment parvenir à un tel résultat avec le fichier XML donné ?