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 :

Probleme d'ajout de noeud [DOM]


Sujet :

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

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2003
    Messages : 45
    Points : 37
    Points
    37
    Par défaut Probleme d'ajout de noeud
    Bonjour, je souhaite ajouter un noeud en DOM et cela me pose pas mal de souci.

    Mon XML est le suivant une KeyList contient 1 ou plusieurs Key, d type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <KeyList>
    <Key name="truc" type="string">TOTO</Key>
    <Key name="blabla" type="string">TITI</Key>
    </KeyList>
    Je souhaite créer une liste de ce genre la.
    Mais je m'emmele les pinceax avec la classe Element et la classe Node (Element herite de Node)
    Si je veux ajouter des attributs, il faut passer par la classe Element mais pour ajouter des Key a ma KeyList, il faut passer par la classe Node.
    Donc quand j'ajoute le Node (qui est en fait un Element), il me fait un ClassCastException (car un Node n'est pas forcement un Element)...
    Bref je pedale dans la semoule la...

  2. #2
    Membre habitué
    Inscrit en
    Octobre 2002
    Messages
    164
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 164
    Points : 190
    Points
    190
    Par défaut
    De mémoire un truc du type devrait marcher :
    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
     
        DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
        Document doc = builder.newDocument();
     
        // La racine
        Element keyList= doc.createElement("KeyList");
        doc.appendChild(element);
     
        // Les enfants
        Iterator iterator = monTruc.iterator();
        while (iterator.hasNext()) {
        Node key = doc.createElement("Key");
        keyList.appendChild(key);
        ...
    }

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2003
    Messages : 45
    Points : 37
    Points
    37
    Par défaut
    Je crée la keylist et je l'affiche aussitot apres, celle-ci vaut null : : : . Voici mon code :
    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
     
     DocumentBuilder builder = null;
      try {
                builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
            } catch (ParserConfigurationException e) {
                  e.printStackTrace();
            } catch (FactoryConfigurationError e) {
                e.printStackTrace();
            }
       document = builder.newDocument(); 
        keyList = document.createElementNS("urn:monnamespace", "KeyList");
        log.info("-> : "+keyList);
        currentKey.setAttribute("Name", "TOTO");
        currentKey.setAttribute("Type", "String");
        keyList.appendChild(currentKey);
        log.info("-> : "+keyList);
    Dans la console :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      -> [KeyList: null]
      -> [KeyList: null]
    La keyList vaut null, mais je n'ai pas de nullPointerException lors de l'appendchild de la Key.
    Bref, c'est bizarre......

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2003
    Messages : 45
    Points : 37
    Points
    37
    Par défaut
    Le probleme venait du Document qui était mal construit. Comme je partais a partir d'un element, il fallait faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    element.getOwnerDocument().createElement(...)

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

Discussions similaires

  1. [JTree] probleme non reconnaissance du noeud spécifié en ajout
    Par youssefkermel dans le forum Composants
    Réponses: 0
    Dernier message: 28/04/2009, 14h41
  2. [DOM] Probleme d'ajout d'un noeud a un fichier XML
    Par Viscapon dans le forum Format d'échange (XML, JSON...)
    Réponses: 13
    Dernier message: 05/06/2008, 17h16
  3. [JDOM] probleme de suppresion de noeud
    Par JavaEli dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 21/03/2005, 17h41
  4. Pb d'Ajout un noeud fils dans une arborescence
    Par oramine dans le forum Oracle
    Réponses: 5
    Dernier message: 21/12/2004, 16h39
  5. [LG]probleme d'ajout dans une liste chainée...
    Par misteryann dans le forum Langage
    Réponses: 5
    Dernier message: 08/03/2004, 21h28

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