Export XML
maestric
Membre
Comment exportez-vous vos objets en XML ? Je ne veux pas utiliser NSXML de Tiger car je souhaite rester compatible avec Panther. Y-a-t-il une façon simple de créer un arbre XML et de le formater pour l'écrire dans un fichier ? (comme en Java et Python).
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Tu fais un NSDictionnary et tu fais un [monDict writeToFile:fileName automaticly:YES];
Bon c'est du plist, plus du XML, si tu veux faire tes propre balises je ne vois pas comment faire ça.
Ce qu'on appelle un fichier plist, c'est juste un XML qui utilise le DTD d'Apple pour décrire les balises des fichiers .plist
Maintenant avec un writeToFile oui en effet ça fait un XML utilisant le format plist, donc limité aux balises String, Number, Boolean, Dict, Array, Data (et j'en oublie peut-être mais si oui, y'en a pas beaucoup plus)
Effectivement, et c'est ce que je cherche à faire
ou rentre cette adresse dans ton navigateur :
file:///Developer/ADC%20Reference%20Library/documentation/Cocoa/Conceptual/NSXML_Concepts/index.html
[EDIT]Ah mince, tu as dit que tu ne voulais pas utiliser NSXML... (ah c'est Tiger only ? zut)... ben là ... t'as plus qu'à chercher sur le net une éventuelle classe qu'une bonne âme aurait développé pour faire ça avant Tiger
Je défini un protocole SVGExporting avec une méthode SVGString qui retourne, vous vous en serez pas douté, une NSString. Ensuite, dans la méthode de classe, on fournit des arguments dont un NSArray (les autres n'ont pas trop d'importance, c'est uniquement pour SVG). Afin de stocker le contenu du document XML, il ya une NSMutableString qui va être changée.
On y ajoute le traditionnel DOCTYPE des document DTD et la balise d'amorce (comme <html> dans un document HTML ...) (suivie d'une manip' spéciale SVG) puis on va commencer à parcourir le tableau avec un NSEnumerator. On teste chaque objet pour savoir si il est conforme au protocole GSVGExporting et si c'est le cas, on ajoute la NSString retournée au buffer (la NSMutableString). Une fois que le tableau a été parcouru, on ajoute la balise de fin et on traduit la NSMutableString en NSData.
[Fichier joint supprimé par l'administrateur]
C'est une idée intéressante, mais c'est quand même dommage d'avoir à se taper soi-même la génération du string XML et son parsing ensuite lors de l'importation, et ça pour chaque classe ! :-\\
Sinon j'ai parcouru quelques frameworks cocoa pour faire du XML, et ils m'ont l'air passablement compliqués à mettre en oeuvre et utiliser. Je crois que pour l'instant je vais me contenter de texte csv
PS - désolé pour le retard de la réponse
Pourquois à tu absolument besoin de XML?