Bonjour,
+1 pour l'avis général, le format CSV est bien mieux.
Surtout que même côté serveur le format CSV est plus simple à gérer que du XML.
Pour parser du CSV il faut faire un découpage de chaine de caractère ligne par ligne, c'est 3x rien à coder.
Pour parser du XML il faut prendre en compte l'architecture du fichier, l'encodage, ...
Pour ce qui est du renvoi des données "offline" c'est pas compliqué, comme elles sont toute dans un ordre chronologique il te suffit d'envoyer toutes les données du fichiers en une seule fois.
Le problème c'est que tu ne peut pas enlever une ligne bien précise dans un fichier sans tout lire / réécrire.
Donc si l'envoi du fichier complet échoue tu auras des problèmes pour gérer la situation.
Le mieux serait de faire un dossier avec un fichier par trame à émettre, numéro dans un ordre croissant, une sorte de file d'attente d'envoi avec des fichiers.
Tu envois fichier par fichier dans l'ordre, si ça marche tu supprime le fichier, si ça plante tu laisse le fichier en place pour la prochaine fois.