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 :

Créer Element dans un document XML


Sujet :

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

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2006
    Messages : 52
    Points : 41
    Points
    41
    Par défaut Créer Element dans un document XML
    Bonjour,

    Je debute sur le XML et l api DOM. C est quand meme quelque chose d assez puissant.

    Bref j aimerai faire une chose mais ca me semble un peu compliqué avec ma maniere.
    Ce que j aimerai est de Creer un type Element en fonction d une String et non d'un fichier.

    Genre j ai ma chaîne :
    <toto aa="123" bb="456" /> Et j aimerai le transformer en Type Element.
    La seule methode que j ai trouve est de creer un document et d 'utiliser la méthode parse(InputStream is) .


    Si vous avez une autre idee

    merci.

  2. #2
    Membre expert
    Avatar de Janitrix
    Inscrit en
    Octobre 2005
    Messages
    3 391
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 3 391
    Points : 3 401
    Points
    3 401
    Par défaut
    Je comprend pas vraiment ce que tu veux. Si tu veux simplement créer un object Element, tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    tonDocument.getDocumentElement();//Ceci te renvoi l'élément root du fichier xml.
    Element e = tonDocument.createElement("lenomdelelement");
    Mais c'est ce que tu attend comme réponse?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2006
    Messages : 52
    Points : 41
    Points
    41
    Par défaut
    justement je n est pas de document.

    J ai un Vector d'element (que j ai rempli a partir d un document). J aimerai rajouter des elements dans ce vector sans avoir a faire au document.
    Les elements que je veux inserer ne sont pas present dans le dom. Ceux sont des elements que je cree a la volee, par rapport au lune string.

    Je m explique, j ai une Frame avec une JList et un JtextField.
    Quand j ecrit dans le JtextField et que j appuie sur entree, je veux que ca creer l element <toto aa="phrase du JTextField" /> et que ca me l insere dans le vector de la JList.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2006
    Messages : 52
    Points : 41
    Points
    41
    Par défaut
    Apres pluseurs recherche, ce que je voulais faire etait impossible.

    Maintenant j aurai une autre question :
    J ai un element :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <toto>
    .....
     
    <titi>
    <tata res="eeee"/>
    <tata res="rrrr"/>
    </titi>
    .....
    </toto>

    Ce que j aimerais faire c est enlver tout les element tata et les remplacer par par d autre et le mettre entre les balise titi.

    voici comme j ai fait (en supposant que j ai prealablement enlver tous les noeud tata):

    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
    // Je cree le document en parsant le fichier xml.
    Document dom = Util.parseXML(filename);
    // Je recupere le noeud racine du document
    Element root =  doc.getDocumentElement();
    
    // Maintenant je recupere le Noeud titi en parcourant la listes de noeuds de root
    NodeList nslt = root.getChildNodes();
    Node node;
    
    for (int i = 0; i < nlst.getLength(); i++) {
        node = nlst.item(i); 
        if (node.getNodeName().compareTo("titi") == 0)
            break;
    }
    // Je creer le nouveau element, je le rempli et je veux le mettre comme etant le fils de titi
    Element noeud = doc.createElement("tata");
    noeud.setAttribute("res", "oooo");
    node.appendChild(noeud);
    A la fin de doit obtenir :

    <titi>
    <tata res="oooo"/>
    </titi>
    .....
    </toto>
    [/code]

    Or j ai une erreur du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Exception in thread "AWT-EventQueue-0" org.w3c.dom.DOMException: HIERARCHY_REQUEST_ERR: An attempt was made to insert a node where it is not permitted. 
    	at com.sun.org.apache.xerces.internal.dom.NodeImpl.insertBefore(Unknown Source)
    	at com.sun.org.apache.xerces.internal.dom.NodeImpl.appendChild(Unknown Source)
    Du a la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    node.appendChild(noeud);
    Merci de votre aide.

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 15
    Points : 18
    Points
    18
    Par défaut C'est très utile de lire les tuto sur xml
    si tu utilise le jdom, tu a à ta disposition deux méthodes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Element tonEltName = new Element("tonEltName");
    EltParent.addContent(tonEltName );
    également la méthode :removeChildren("tonEltName") pour supprimer les noeuds indésirables :

  6. #6
    Membre averti Avatar de supernova
    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    447
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 447
    Points : 415
    Points
    415
    Par défaut
    Salut,

    Cherches du côté des requêtes XPATH

Discussions similaires

  1. Recherche d'element dans un document XML
    Par FlyByck dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 05/07/2010, 20h37
  2. Réponses: 4
    Dernier message: 09/05/2006, 11h33
  3. Sauver un TStream dans un document XML
    Par srvremi dans le forum Composants VCL
    Réponses: 4
    Dernier message: 07/10/2004, 13h17
  4. recherche dans un document xml via DOM
    Par ndoye_zaff dans le forum APIs
    Réponses: 5
    Dernier message: 11/06/2003, 14h44
  5. Stocker du texte mis en forme dans un document XML
    Par ovh dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 13/02/2003, 10h23

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