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 :

ajout d'éléments et de leur contenu textuel [JDOM]


Sujet :

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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 568
    Par défaut ajout d'éléments et de leur contenu textuel
    Bonjour,
    au lieu de repeter plusieurs instructions à chaque fois, j'ai mis des methodes public que je pourai soit utiliser dans la même classe soit en d'hors de cette classe, le problème c'est qu'il y a quelque chose qui va pas dans cette classe
    et une telle instruction "ajoutElement(racine,"Study");" par exemple n'est pas acceptée.
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    /*
     * OdmSchéma.java
     *
     * Created on 10 mars 2008, 12:34
     *
     * To change this template, choose Tools | Template Manager
     * and open the template in the editor.
     */
    
    package ehr4research2;
    
    import java.io.FileOutputStream;
    import org.jdom.*;
    import org.jdom.output.Format;
    import org.jdom.output.XMLOutputter;
    
    public class OdmSchéma {
        
        
       
       //Nous allons commencer notre arborescence en créant la racine XML qui sera ici "ODM".
           Element racine = new Element("ODM");
    
       //On crée un nouveau Document JDOM basé sur la racine que l'on vient de créer
       org.jdom.Document document = new Document(racine);
       
               
          //On crée des nouveaux Elements Study,AdminData,ClinicalData et on les ajoute
          //en temps qu'Element de racine
          ajoutElement(racine,"Study");
          ajoutElement(racine,"AdminData");
          ajoutElement(racine,"ClinicalData");
          
             
        
        // methode d'ajout d'éléments et de son contenu textuel
        public void ajoutElement(Element titre, String element, String texte)
        {   Element elementAjoute = new Element(element);
            elementAjoute.setText(texte);
            titre.addContent(elementAjoute);
        }
        
        // methode d'ajout d'éléments
        public void ajoutElement(Element titre, String element)
        {   Element elementAjoute = new Element("element");
            titre.addContent(elementAjoute);
        }
        
         // methode d'ajout d'atribut et de son contenu textuel
         public void ajoutAtribut(Element titre, String element, String texte)
        {   Attribute atributAjoute = new Attribute(element,texte);
            titre.setAttribute(atributAjoute);
            
        }
        
        // methode d'ajout d'atribut
        public void ajoutAtribut(Element titre, String element) 
        {   Attribute atributAjoute = new Attribute(element,"");
            titre.setAttribute(atributAjoute);
        }
        
        
        public void affiche()
    	{
    	   try
    	   {
    	      //On utilise ici un affichage classique avec getPrettyFormat()
    	      XMLOutputter sortie = new XMLOutputter(Format.getPrettyFormat());
    	      sortie.output(document, System.out);
    	   }
    	   catch (java.io.IOException e){}
    	}
     
        public void enregistre(String fichier)
        {
           try
           {
              //On utilise ici un affichage classique avec getPrettyFormat()
              XMLOutputter sortie = new XMLOutputter(Format.getPrettyFormat());
              //Remarquez qu'il suffit simplement de créer une instance de FileOutputStream
              //avec en argument le nom du fichier pour effectuer la sérialisation.
              sortie.output(document, new FileOutputStream(fichier));
           }
           catch (java.io.IOException e){}
        }
        
        
        //nom.setText("CynO");
        
    }
    J'ai essayé de mettre un constructeur, mais ça marche pas non plus, je me retourne donc vers vous afin de demander votre aide.

    Je vous remercie d'avance.

  2. #2
    Membre chevronné Avatar de JoloKossovar
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 532
    Par défaut
    tu peux coller la stacktrace ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 568
    Par défaut
    merci,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    invalid method declaration; return type required
    J'ai essayé de mettre les methodes static mais j'obtiens la même erreur

  4. #4
    Membre chevronné Avatar de JoloKossovar
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 532
    Par défaut
    lol... au temps pour moi je n'avais même pas regardé ton code avant de te demander l'erreur car souvent ça sert a rien. Mais y avait pas besoin de l'erreur ...

    Ce que tu fais ne marchera jamais. En effet tes appels à ajoutElement doivent être placé dans une méthode (un main par exemple). Là, il considère que tu déclare une méthode ajoutElement et donc il te demande de déclarer le type d'objet retourner par cette méthode

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 568
    Par défaut
    Merci, j'ai fais comme vous m'avez dis:
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    /*
     * OdmSchéma.java
     *
     * Created on 10 mars 2008, 12:34
     *
     * To change this template, choose Tools | Template Manager
     * and open the template in the editor.
     */
    
    package ehr4research2;
    
    import java.io.FileOutputStream;
    import org.jdom.*;
    import org.jdom.output.Format;
    import org.jdom.output.XMLOutputter;
    
    import java.io.*;
    import org.jdom.*;
    import org.jdom.output.*;
    
    public class OdmSchéma
    {
       //Nous allons commencer notre arborescence en créant la racine XML
       //qui sera ici "personnes".
       static Element racine = new Element("personnes");
    
       //On crée un nouveau Document JDOM basé sur la racine que l'on vient de créer
       static org.jdom.Document document = new Document(racine);
    
       public static void main(String[] args)
       {
          //On crée un nouvel Element etudiant et on l'ajoute
          //en temps qu'Element de racine
          ajoutElement2(racine, "etudiant");
          
    
          //On crée un nouvel Attribut classe et on l'ajoute à etudiant
         //grâce à la méthode setAttribute
          ajoutAtribut1(etudiant,"classe","P2");     
          /*
          Attribute classe = new Attribute("classe","P2");
          etudiant.setAttribute(classe);
          */
           
          //On crée un nouvel Element nom, on lui assigne du texte
          //et on l'ajoute en temps qu'Element de etudiant
          ajoutElement1(etudiant, "nom", "CynO");     
          /*
          Element nom = new Element("nom");
          nom.setText("CynO");
          etudiant.addContent(nom);
          */
          //Les deux méthodes qui suivent seront définies plus loin dans l'article
          affiche();
          enregistre("Exercice1.xml");
       }
       
       // methode d'ajout d'éléments et de son contenu textuel
        public static void ajoutElement1(Element titre, String element, String texte)
        {   Element elementAjoute = new Element(element);
            elementAjoute.setText(texte);
            titre.addContent(elementAjoute);
        }
        
        // methode d'ajout d'éléments
        public static void ajoutElement2(Element titre, String element)
        {   Element elementAjoute = new Element("element");
            titre.addContent(elementAjoute);
        }
        
         // methode d'ajout d'atribut et de son contenu textuel
         public static void ajoutAtribut1(Element titre, String element, String texte)
        {   Attribute atributAjoute = new Attribute(element,texte);
            titre.setAttribute(atributAjoute);
            
        }
        
        // methode d'ajout d'atribut
        public static void ajoutAtribut2(Element titre, String element) 
        {   Attribute atributAjoute = new Attribute(element,"");
            titre.setAttribute(atributAjoute);
        }
    
       
        static void affiche()
        {   try
            {
            //On utilise ici un affichage classique avec getPrettyFormat()
            XMLOutputter sortie = new XMLOutputter(Format.getPrettyFormat());
            sortie.output(document, System.out);
            }
            catch (java.io.IOException e){}
        }
        
        static void enregistre(String fichier)
        {   try
            {
            //On utilise ici un affichage classique avec getPrettyFormat()
            XMLOutputter sortie = new XMLOutputter(Format.getPrettyFormat());
            //Remarquez qu'il suffit simplement de créer une instance de FileOutputStream
            //avec en argument le nom du fichier pour effectuer la sérialisation.
            sortie.output(document, new FileOutputStream(fichier));
            }
            catch (java.io.IOException e){}
        }
    
    }
    mais je ne sais pas pourquoi j'ai le message d'erreur suivant au niveau des instruction en gras:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cannot find symbol
    symbol: variabl etudiant
    merci encore

  6. #6
    Membre chevronné Avatar de JoloKossovar
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 532
    Par défaut
    Et bien ton élément étudiant n'est pas défini. Récupère après sa création l'élément étudiant et ça devrait le faire.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/03/2015, 18h31
  2. [JDOM] Ajout d'éléments triés selon leur nom et problème de redondance.
    Par _fav_ dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 05/08/2010, 11h24
  3. ajouter des éléments a un select multiple sans effacer le contenu
    Par ziad251 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 05/05/2008, 15h11
  4. Ajouter un élément dans un textarea sans en supprimer le contenu
    Par xillibit dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 28/06/2007, 09h42
  5. [xsl] Ajouter 1 élément à la page xml
    Par ametisse dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 10/03/2003, 12h15

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