IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Format d'échange (XML, JSON...) Java Discussion :

XML utilisé pour import/export


Sujet :

Format d'échange (XML, JSON...) Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 158
    Par défaut XML utilisé pour import/export
    Bonjour,

    J'ai une question un peu vague portant sur l'existance de quelque chose que je ne saurais définir précisément...
    Voilà... j'ai une appli java qui utilise un ensemble d'objets hiérarchisés. Disons un objet "société", avec des objets "employé", qui eux meme comportent des objets "outil de travail"...
    Je voudrais réaliser un export de toutes les données dont j'ai besoin et de pouvoir l'importer par la suite.
    Pour moi, il y aurait un moyen de définir un format de fichier XML canonique pour ce genre de problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <société name="McDo">
      <employé name="robert">
        <outils name="faucille"/>
      </employé>
      <employé name="raoul">
        <outils name="marteau"/>
      </employé>
      ....
    </société>
    ou un truc du genre... (paramétrable, car je dois dire tout de meme ce que je prend, etc...)
    Et donc ma question était est-ce que des choses existent dans ce domaine?

    En gros, je suis en train de faire ça et je trouve que mon implementation de l'export est trop "en dure". Je me retrouve à faire une copie de ma hiérarchie, alors que j'aimerais ne la référencer qu'une seule fois. Et de meme pour l'import, qui est indépendant de l'export...

    Suis-je sur la mauvaise voie?

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 4
    Par défaut DTD et XML Schema
    Bonjour,

    Déjà, si tu souhaites ne pas toujours tout répéter, il faudra passer par des DTD ou schémas pour décrire la structure de tes données.

    Ensuite, je ne comprends pas très bien : tu souhaites écrire dans une base de données ou un fichier, ou pas ?

    A+

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 158
    Par défaut
    je veux exporter mes objets java qui ont une certaine hiérarchie dans un fichier xml qui aurait un format canonique. je ne sais pas si ce que je propose est réalisable, et encore moins réalisé.

  4. #4
    Membre éclairé
    Profil pro
    Architecte logiciel
    Inscrit en
    Janvier 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2006
    Messages : 28
    Par défaut
    tu peux passer par JaxB ( en interne dans java 6 si je ne me trompe pas, en librairie avant. )

    il s'occupe d'analyse ton graphe d'objets et de le transformer en xml (marshalling) et inversement ( unmarshalling).

    le mecanisme permet, au niveau du code des objet de dire ce qui est un element ou pas de ton graphe, de dire qu'est ce qui est un attribut de ton graphe, jaxB va donc a partir de ces anotations ( et des classes déclarée dans la factory) transformer en xml ton graphe d'objet a partir de sa racine.
    un peu de travail surement pour adapter, mais le résultat est fonctionnel et semble etre celui que tu recherches afin de remplacer tes méthodes statique de marshalling xml.

    c'est très rapide a comprendre avec la doc sur le site ( en tout cas pour une utilisation simple comme la tienne) et le mecanisme des anotations permet de ne pas alourdir le code en rajoutant le mecanisme rapidement.

    le guide non officiel sur le site officiel

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 158
    Par défaut
    merci, je vais regarder tout ça

  6. #6
    Membre habitué
    Inscrit en
    Décembre 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 10
    Par défaut Essaye sa....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    public Encode() {
    		super();
    		try {
    			XMLEncoder enc = new XMLEncoder(new FileOutputStream("Parametre.xml"));
    			Parametre P = new Parametre();
    			P.setNbIndividus(100);
    			P.setNbVilles(25);
    			enc.writeObject(P);
    			enc.close();
    		} catch (FileNotFoundException e) {
    			e.printStackTrace();
    		}
     
     
    public Decode() {
    		super();
    	}
     
    	public Parametre getParametre(){
    		Parametre P =null;
    		try {
    			XMLDecoder dec = new XMLDecoder(new FileInputStream("Parametre.xml"));
    			P = (Parametre) dec.readObject();
     
    			System.out.println("nbre individue= "+P.getNbIndividus());
    			System.out.println("nbre villes= "+P.getNbVilles());
    		} catch (FileNotFoundException e) {
    			e.printStackTrace();
    		}
    avec Parametre c'est une class:: avec des get et des set
    bonne chance

Discussions similaires

  1. Réponses: 10
    Dernier message: 09/08/2016, 18h56
  2. Fichier bat pour importer/exporter BD Prosgres
    Par simosiso1 dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 12/08/2011, 17h45
  3. Réponses: 6
    Dernier message: 02/02/2010, 12h54
  4. export de gui + probleme pour import/export vers workspace
    Par ABN84 dans le forum Interfaces Graphiques
    Réponses: 5
    Dernier message: 06/01/2009, 14h15
  5. Réponses: 2
    Dernier message: 25/07/2007, 12h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo