XML dans NSString vers NSDictionnary

mantranoir

Membre confirmé
19 Novembre 2010
10
1
45
Bonjour à tous,

Je suis nouveau dans le monde du développement Mac et je viens de débuter un petit projet.
J'ai un petit souci, pas compliqué à résoudre je pense pour les développeurs plus expérimentés que moi.

Actuellement, je récupère via une requête POST lancée à partir de mon application, un XML en chaine de caractères, contenu dans un NSString. Je voudrais le convertir en NSDictionnary pour remplir un composant.

Savez vous comment faire ?
 
un dictionary c'est comme une fonction f(x)=y
x= cles , y = valeurs , f = dictionnaire
tes données, clés et valeurs se trouvent en vrac dans ton NSString, tu collectes tes clés dans un NSArray keyArray, tu fais de même avec tes valeurs dans un NSArray valueArray, et tu utilises un constructeur prédéféni dictionaryWithObjects :

+(id) dictionnaryWithObjects: (NSArray ) values forKeys : (NSArray ) keys

(vérifie la fonction, je ne l'ai pas sous les yeux )
 
Avec la classe NSXMLDocument, tu peux créer un document XML à partir de ta chaine :
Bloc de code:
- (id)initWithXMLString:(NSString *)string options:(NSUInteger)mask error:(NSError **)error
Ensuite parcours ton document pour récupérer tes données stockées dans les noeuds du document. Le point d'entrée est la racine, root :
Bloc de code:
- (NSXMLElement *)rootElement
Pour chaque noeud lu, tu peux récupérer son nom et sa valeur qui feront la clé et la valeur de ton dico.