-
XML versus Serialization
Apprenti développeur en java, j’ai découvert dernièrement les avantages de l’XML ; du coup, je me pose quelque question.
Quand l’on veut sauvegarder des informations d’un programme JAVA, vaut-il mieux utiliser la sérialization d’un Objet, ou bien décrire les différents états de cette Objet dans un fichier XML.
L’avantage de l’XML est que l’utilisateur peut éditer le fichier pour ajouter des paramètre ou autre. Cette avantage peut devenir un défaut si l’utilisateur commet un erreur et casse le « bien formé » du document.
Et puis la sérialization me semble plus simple et plus souple à utiliser dans un programme JAVA et permet de sauvegarder des Objets complexe.
Donc pour vous, dans quel cas utiliser XML plutôt que la sérialization dans la sauvegarde de donnée?
Et d’une manière plus générale, dans quel cas utiliser XML dans un programme JAVA?
Sinon, j’ai vue qu’il existait un paquet d’API différentes pour manier les fichiers XML en java, dont des API de sun. Mais y en a-t-il de plus facile que d’autre pour débuter ?
Merci
PS : Je me lance dans un projet un peu compliqué, et je me renseigne sur tous les outils qui pourront m’être utile.
-
Bonjour,
Je ne sais pas pour le XML.
j'utilse souvent la serialisation et je vois plusieurs avantages
- plus rapide à coder, plus claire, et sans erreur,
on peut facillement enregister un ArrayList d'objet en une seul ligne de code ou presque
les deux grand désavantages:
- Certaine class ne sont pas serializable mais on peut contourner le problème
avec Externalizable
- lorsqu'on modifie la classe et on rebuilt, un nouveau serialID est créé. Les anciennes info sauvegardé ne sont plus compatible avec les nouvelles.
-
La serialisation peut te servir pour conserver l'êtat d'un objet d'un cas d'utilisation à un autre. Donc il daut te poser la question : si la sérialisation est réélement nécéssaire, quels objets sont les objets dont tu veux garder l'êtat et quels données de ces objets. Tu peut utiliser la sérialisation d'un objet en XML à la place du binaire. Ensuite je n'ai pas vraiment de réponse quand à te dire laquelle est la meilleur méthode cela dépend des besoins de ton application (recherche dans google : java avantage serialisation xml).
Sinon quelque lien sui pourrait t'aider :
Methode pour serialiser en xml avec java :
http://java.developpez.com/sources/?...rialisationXML
Un début de réponse (binaire ou xml) :
http://www-128.ibm.com/developerwork...92&entry=89374
-
Salut,
Alors personnellement je prefere la 'serialisation' en XML car je peux simplement modifier mon fichier pour modifier la structure etc..
La serialisation d'un objet en Java est vraiment bien mais il est impossible de lire le resultat autrement qu'en Java or comme je programme avec des développeurs C++ et Perl il est impossible de faire cela.
Tout dépend de tes besoins.
Quand a la rapidite de l'un ou de l'autre je n'ai jamais fait de test donc je peut pas trop t'en dire plus.
a+