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 :

Ajouter un noeud parent à un Document [DOM]


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é Avatar de domiq44
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 302
    Par défaut Ajouter un noeud parent à un Document
    Bonjour,

    Je veux, en Java, ajouter un noeud parent à un noeud existant d'un document W3C (org.w3c.dom.Document).

    En résumé, j'ai un XML comme ceci dans un Document Java :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?xml version="1.0" encoding="UTF-8"?>
    <etudiant classe="P2">
       <nom>CynO</nom>
    </etudiant>
    Et je veux arriver à cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?xml version="1.0" encoding="UTF-8"?>
    <personnes>
       <etudiant classe="P2">
          <nom>CynO</nom>
       </etudiant>
    </personnes>
    Mais je n'y arrive pas
    Je pensais procéder de la manière suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    // Au départ, doc1 contient le XML <etudiant>...</etudiant>
     
    // Je crée un nouveau Document
    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    DocumentBuilder db = dbf.newDocumentBuilder();
    Document doc2 = db.newDocument();
    // Auquel j'ajoute le XML <personnes></personnes>, rien d'autre !
    Element personnes = doc2.createElement("personnes");
    doc2.appendChild(personnes);
    // Puis j'ajoute enfin le doc1
    personnes.appendChild(doc1.getParentNode());
    Mais ça ne fonctionne pas !!!

    Quelqu'un peut-il m'aider ?
    Merci.

  2. #2
    Membre chevronné
    Inscrit en
    Juillet 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 534
    Par défaut
    Il faut que tu detaches/clones l'element que tu veux ajouter dans le nouveau document.

    Au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    personnes.appendChild(doc1.getParentNode());
    Essais de faire avec importNode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    NodeList list = doc1.getElementByTagName("etudiant");
     
    // en supposant qu'on a quelle chose dans la liste
    Element element = (Element)list.item(0);
     
     
    // copy cet element (ainsi que ces fils de l'arborescence)
    Node dupElement = doc2.importNode(element, true);
     
    // insert la copie dans le nouveau document
    doc2.getDocumentElement().appendChild(dupElement);

  3. #3
    Membre éclairé Avatar de domiq44
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 302
    Par défaut
    Merci « ttttnht », c'est exactement ça

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/02/2011, 14h02
  2. [JAVA] Problème supression noeud d'un document XML
    Par vero59 dans le forum XML/XSL et SOAP
    Réponses: 10
    Dernier message: 16/08/2005, 16h12
  3. Pb d'Ajout un noeud fils dans une arborescence
    Par oramine dans le forum Oracle
    Réponses: 5
    Dernier message: 21/12/2004, 15h39
  4. [DOM] Probleme d'ajout de noeud
    Par romain3395 dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 30/11/2004, 13h13
  5. [JTree]noeud parent dans un jtree
    Par wassimb dans le forum Composants
    Réponses: 5
    Dernier message: 22/03/2004, 14h06

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