cs_ajan
Messages postés35Date d'inscriptionjeudi 30 juin 2005StatutMembreDernière intervention13 avril 2007
-
4 août 2006 à 13:55
cs_ajan
Messages postés35Date d'inscriptionjeudi 30 juin 2005StatutMembreDernière intervention13 avril 2007
-
7 août 2006 à 09:40
Bonjour, je voualis savoir s'il existe une méthode simple pour générer un fichier xml à partir d'une classe java. Il y aurait dans ce fichier tous les attributs de la classe et leur valeur
deemon
Messages postés13Date d'inscriptionvendredi 16 avril 2004StatutMembreDernière intervention24 février 2009 5 août 2006 à 01:47
je voulais publier un code à ce sujet mais les classes sont bcp trop volumineuse enfait j'ai utilisé un projet déja publié nomé Xstream.
voici une partie du code permettant de generer un fichier xml.
// des imports utils pour la serialisation xml
import com.thoughtworks.xstream.XStream;
// import pour les entrées sorties du fichier
import java.io.FileOutputStream;
import java.io.PrintStream;
public static void main(String[] args)
{
new Main();
}
public Main()
{
laFille = new UnePersonne("GuGu");
leGarcon = new UnePersonne("Adnane");
// initialisation du flux xstream
leFlux = new XStream();
// mise en place des alias de chaque classe ( les balises )
leFlux.alias("personne",UnePersonne.class);
leFlux.alias("groupe",UnGroupe.class);
// regrouper les personnes dans un groupe
leGroupe = new UnGroupe();
leGroupe.ajouter(laFille);
leGroupe.ajouter(leGarcon);
// serialisation : le résulat est un string qui sera ensuite enregistré sur fichier
// on peut s'arreter ici et mettre un system.out.println pour afficher le resultat
String laChaine = leFlux.toXML(leGroupe);
// récuperation des données serialisées ( sans lecture du fichier )
leGroupe = (UnGroupe) leFlux.fromXML(laChaine);
// reserialisation afin des les afficher :D
laChaine = leFlux.toXML(leGroupe);
// ecriture sur fichier
try
{
leFichier = new FileOutputStream("laListe.xml",true);
lEcrivain = new PrintStream(leFichier);
lEcrivain.println(laChaine);
lEcrivain.close();
}
catch(Exception e)
{
e.printStackTrace();
}
// lecture apartir du fichier
try
{
BufferedReader leTampon = new BufferedReader(new FileReader("laListe.xml"));
super_toinou
Messages postés764Date d'inscriptionmardi 25 mai 2004StatutMembreDernière intervention 8 mars 20116 4 août 2006 à 15:36
voit la classe XMLEncodeur
exemple de sun
XMLEncoder e = new XMLEncoder(
new BufferedOutputStream(
new FileOutputStream("Test.xml")));
e.writeObject(new JButton("Hello, world"));
e.close();
Vous n’avez pas trouvé la réponse que vous recherchez ?
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023111 4 août 2006 à 17:13
Salut,
petit complement par rapport à la solution de [auteurdetail.aspx?ID=283222 super_toinou]qui est très bien sur des petit objets, ne l'utilise jamais sur des objets complex comme JTable, JTree ou autre usine à gaze enfin sauf si tu as :
1 de lespace disque
2 du temps devant toi (en effet sur des objet graphique complex ça rame à mort)
voilou.
------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."
super_toinou
Messages postés764Date d'inscriptionmardi 25 mai 2004StatutMembreDernière intervention 8 mars 20116 4 août 2006 à 17:22
il est vrai qu XStream est préférable si ajan t as le temps préfère cette solution (mais pour un ptit codage rapide a l arrache ca évite de l intégrer)
++ Toinou
cs_ajan
Messages postés35Date d'inscriptionjeudi 30 juin 2005StatutMembreDernière intervention13 avril 2007 7 août 2006 à 09:40
ça m'a l'air pas mal ça deemon !! Je vais tester ça, mais je pense que c'est bien ce que je cherche (dès que je suis sure, j'accept la réponse !)
Pour super_toinou, t'as raison, j'essaie d'éviter de faire du code à l'arrache, la politique qualité de ma boite (je suis en stage) est super stricte, donc j'ai besoin d'un code propre, qui bouffe pas trop non plus !)