Mettere i nodi di un xml in degli array con NSMutableDiction

di il
3 risposte

Mettere i nodi di un xml in degli array con NSMutableDiction

Ciao sto cercando di mettere i nodi di un xml in degli array con NSMutableDictionary
ho tutto l'xml in un oggetto

NSMutableDictionary *dict = [XMLReader dictionaryForXMLString:testXMLString error:&parseError];

questo funziona se stampo dict

// Print the dictionary
NSLog(@"%@", dict);

mi da

{
    utenti =     {
        text = "";
        utente =         (
                        {
                cognome =                 {
                    text = Cicci;
                };
                indirizzo =                 {
                    text = Milano;
                };
                nome =                 {
                    text = Luca;
                };
                text = "";
            },
                        {
                cognome =                 {
                    text = Rossi;
                };
                indirizzo =                 {
                    text = Roma;
                };
                nome =                 {
                    text = Max;
                };
                text = "";
            }
        );
    };
}
per recuperare i valori nei nodi faccio cosi

 NSMutableArray *nome = [NSMutableArray array];
    NSMutableArray *cognome = [NSMutableArray array];
    [dict setObject:nome forKey:@"nome"];
    [dict setObject:cognome forKey:@"cognome"];
ma non funziona perchè se faccio il log
NSLog(@"array: %@", nome);
mi da
array: (
)
come dovrei fare per mettere nome cognome e indirizzo negli array questo è l'xml
grazie dell'aiuto
<utenti>
<utente>
<nome>Luca</nome>
<cognome>Cicci</cognome>
<indirizzo>Milano</indirizzo>
</utente>
<utente>
<nome>Max</nome>
<cognome>Rossi</cognome>
<indirizzo>Roma</indirizzo>
</utente>
</utenti>

3 Risposte

  • Re: Mettere i nodi di un xml in degli array con NSMutableDiction

    Prova a fare:
    NSMutableDictionary *dict = [XMLReader dictionaryForXMLString:testXMLString error:&parseError];
    NSMutableArray *utenti = [[NSMutableArray alloc] init];
    utenti = [[dict valueForKey:@"utenti"] valueForKey:@"utente"]; //Questo conterrà un array di dictionary, ogni dict è un utente
    Se poi vuoi aggiungere tutti i cognomi in un array, tutti i nomi in un altro array e tutti gli indirizzi in un terzo array allora prosegui con:
    
    NSMutableArray *nomi = [[NSMutableArray alloc] init];
    NSMutableArray *cognomi = [[NSMutableArray alloc] init];
    NSMutableArray *indirizzi = [[NSMutableArray alloc] init];
    for (NSDictionary user in utenti)
    {
         NSString *nomeString = [[user valueForKey:@"nome"] valueForKey:@"text"];
         NSString *cognomeString = [[user valueForKey:@"cognome"] valueForKey:@"text"];
         NSString *indirizzoString = [[user valueForKey:@"indirizzo"] valueForKey:@"text"];
    
         [nomi addObject:nomeString];
         [cognomi addObject:cognomeString];
         [indirizzi addObject:indirizzoString];
    }
    
    Fammi sapere se hai ancora problemi, se hai risolto e soprattutto se hai capito cosa faccio.

    Buon lavoro
  • Re: Mettere i nodi di un xml in degli array con NSMutableDiction

    Funziona!!!grazie mille della spiegazione sono all'inizio
    questo NSDictionary me lo dovrei studiare ma con questo esempio è piu comprensibile
  • Re: Mettere i nodi di un xml in degli array con NSMutableDiction

    Alla fine sono na cretinata, è una hashmap. Hai una struttura con oggetti associati a delle chiavi. Tramite la chiave accedi all'oggetto.Il tuo caso non era adatto per capire al volo i dictionary, perchè comunque avevi una serie di dictionary innestati.

    Buon proseguimento
Devi accedere o registrarti per scrivere nel forum
3 risposte