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 :

The Content already has an existing parent


Sujet :

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

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut The Content already has an existing parent
    bonjour tout le monde
    Voila (en gros) la structure du fichier XML que je dois generer avec Java-Jdom :
    <mpp>
    <dd id_epj="001" da_valeur="10/10/2005"/dd>
    <dd dd_ges_id_epj_fonc="4002" da_valeur="10/10/2005"/dd>
    <dd .....etc etc
    </mpp>

    Donc des balises dd avec uniquement des attributs.
    Il y aura un nombre indetermine de balises dd.

    Mon idée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    static Element racine = new Element("mpp");	
    static org.jdom.Document document = new Document(racine);
    Puis dans le main, dans une boucle while(je recois des infos) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    {
    Element dd = new Element("dd");
    racine.addContent(dd); 
    dd.setAttribute(new Attribute("da_valeur","val2")); 
    dd.setAttribute(new Attribute("id_epj_fonc","val1"));
    }
    Le 1er passage dans la boucle se passe bien, mais au second j ai une erreur : The Content already has an existing parent "mpp"

    (oui oui, je debute en java et xml ...)

    si vous pouvez m aider, je vous remercie...

  2. #2
    Membre averti Avatar de guignol
    Inscrit en
    Mai 2002
    Messages
    309
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 309
    Points : 339
    Points
    339
    Par défaut
    fais tes setAttribute avant tonAddContent(), c'est ptet ça (mais j'en doute)

    et

    [EDIT]

    Au lieu de faire addContent("dd") fais plutot un appendChild()

  3. #3
    Candidat au Club
    Inscrit en
    Mars 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    salut, je viens d essayer mais je retombe sur la meme erreur..

  4. #4
    Membre averti Avatar de guignol
    Inscrit en
    Mai 2002
    Messages
    309
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 309
    Points : 339
    Points
    339
    Par défaut
    Est-ce possible de voir le code en entier pour la fonction s'il te plait?

  5. #5
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Points : 1 996
    Points
    1 996
    Par défaut
    Essaie ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    static Element racine = new Element("mpp"); 
    static org.jdom.Document document;
     
    { 
    Element dd = new Element("dd"); 
    racine.addContent(dd); 
    dd.setAttribute(new Attribute("da_valeur","val2")); 
    dd.setAttribute(new Attribute("id_epj_fonc","val1")); 
    }
    document = new Document(racine);

  6. #6
    Candidat au Club
    Inscrit en
    Mars 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Dans le Main :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Element eltDD = new Element("dd");
    while (true) {
         if (ligneEnCours == null)
    	    break;
     
    MaFonction(map_value, eltDD);
    }
    map_value contient le couple (champ, valeur)

    Dans une autre classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    static Element racine = new Element("mpp");	
    static org.jdom.Document document = new Document(racine);
     
    MaFonction(map, eltDD){
    if(map.champ.equals("ID_EPJ_FONC")) {	
    	racine.addContent(eltDD);
    	eltDD.setAttribute(new Attribute("ID_EPJ_FONC", value));
    } else {
           eltDD.setAttribute(new Attribute(champ, value));
    }
    Chaque balise doit debuter par
    <dd
    et le 1er attribut doit etre
    ID_EPJ_FONC.

    Le probleme apparait lors du 2eme appel de la fonction.

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/02/2011, 20h23
  2. Réponses: 3
    Dernier message: 10/05/2010, 11h08
  3. [XSLT] [Fatal Error] sommaire_T6.xsl:15:2: The content of elements must consist of well-form
    Par lasdou15 dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 13/03/2008, 09h02
  4. facet already has a child associated
    Par *alexandre* dans le forum JSF
    Réponses: 1
    Dernier message: 22/09/2006, 15h41
  5. Problème "The specified service does not exist as an ..
    Par Rimak2 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 23/05/2005, 21h24

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