2010-07-17 5 views
1

Je n'ai pas trouvé de réponse à cette question n'importe où, mais cela ressemble à un problème typique: J'ai dans mon dossier "Ressources" un fichier XML que mon application doit afficher quelques informations. Mais je dois vérifier dans mon serveur, si le serveur a un nouveau XML disponible, ainsi je devrais remplacer mon XML (dans le dossier de ressources) pour ce nouveau.iPhone: gestion des dossiers

Comment puis-je y parvenir?

Merci d'avance pour toute aide!

Répondre

2

Je ne suis pas sûr que vous obtenez un accès en écriture à la section Ressources. Une meilleure façon de le faire est de télécharger le dossier dans votre répertoire "Documents". Ensuite, lorsque l'application vérifie le chargement du fichier XML, elle doit voir s'il existe une version dans le répertoire documents et la charger en premier. S'il ne trouve pas de remplacement, il utilise la version originale.

Cela signifie que le fichier XML d'origine peut être utilisé s'il y a un problème avec le fichier téléchargé. Ce qui arrive, soit le réseau est coupé et n'a pas fini, ou le serveur a donné le mauvais fichier xml et il ne valide pas.

Vous pouvez accéder au répertoire de documents à l'aide:

NSArray *docPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES); 
NSString *destinationpath = [docPaths lastObject]; 

Si vous êtes désireux de vérifier les versions, vous pouvez utiliser un élément à l'intérieur du XML pour vous donner le numéro de version ou vous pouvez utiliser la dernière modification rendez-vous amoureux. Un exemple de la version pourrait être:

<myxml version="234"> 

Ensuite, vous pouvez vérifier cette valeur.

+0

J'utilise déjà la méthode que vous venez de recommander, mais j'ai pensé pouvoir remplacer le fichier original. Si ce n'est pas le cas, je suis heureux de savoir que je n'ai pas accès en écriture à la section Ressources. THX – jcdmb

1

Vous pouvez laisser l'API, une méthode pour vérifier la date de modification la plus récente. Et dans le site client, vous pouvez obtenir votre date de modification la plus récente du fichier XML et la comparer avec celle du serveur. Vous pouvez obtenir la description du fichier XML et renvoyer true ou false à remplacer.

+0

Je vais essayer ça. THX! – jcdmb

1

U besoin d'un moyen de distinguer le nouveau XML de l'ancien. Je suppose que vous avez un mécanisme pour le faire. Typiquement une sorte de noeud Version à l'intérieur du XML. Si la version du serveur et celle de votre téléphone sont différentes, faites-en une autre.