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

APIs XML Discussion :

Jdom et la suppression


Sujet :

APIs XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 34
    Par défaut Jdom et la suppression
    Bonjour,
    je voudrais supprimer un élément de mon fichier xml ,mais je n'arrive pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <liste_composants>
            <composant>
                <el1>toto</el1>
                <el2> xxx</el2>
            </composant>
            <composant>
                 <el1> titi </el1>
                 <el2> zzz</el2>
            </composant>
    </liste-composants>
    je veux supprimer par exemple le composant contenant l'element "toto".
    voilà le code que j'utilise
    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
     
    public void supEltXml(String s){
     
    	racine = document.getRootElement();
     
    	 List listComposants = racine.getChildren("composant");
         //On crée un Iterator sur notre liste
         Iterator i = listComposants.iterator();
         while(i.hasNext())
         {
     
     
            Element courant = (Element)i.next();
            //On cherche l'element à modifier
            if(courant.getChild("el1")!=null)
           if(courant.getChild("el1").getText().equals(s))
           {
            	racine.removeChild("composant");
     
           }
    }
    }
    ça supprime pas!!!je vois pas le pb.
    merci d'avance

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 83
    Par défaut
    Bonsoir,

    Ton code pourrait marcher pour toto( je ne l'ai pas testé ), par contre il ne marchera pas pour titi car

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    racine.removeChild("composant");
    retire forcemment le premier enfant portant ce nom, qui n'est pas ici le noeud élément composant contenant titi, mais bien celui contenant toto.

    Pour retirer le bon noeud dans la hiérarchie, il serait peut-etre mieux de passer la référence sur le noeud élement "composant", qui n'est en fait que le parent du noeud "el1" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    racine.removeChild(courant.parent) ;
    Sinon, le grand secret pour savoir où l'on se trouve dans du DOM, c'est d'afficher le nom de l'élément courant.

    racine.name => je suis bien à mon de départ
    courant.name => c'est bien un noeud élément composant
    courant.getChild("el1")..getText() => c'est bien le texte que j'attends

    et tester le paramètre s en entrée ...

    Sinon, tu peux passer par xpath et écrire un truc du genre
    "//el1[text()='ma chaine']"
    qui pourrait se traduire par n'importe quel noeud élément nommé el1 est dont le text(la valeur) est "ma chaine".
    Et ça ira beaucoup plus vite que d'itérer à travers du DOM et c'est beaucoup moins fastidieux.

    Xavier

Discussions similaires

  1. [JDOM] Suppression d'un élément dans un fichier XML avec JDOM
    Par pomolo11 dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 08/12/2013, 11h36
  2. [JDOM] xpath+jdom+regex ==> suppression balise
    Par fasfousba dans le forum Format d'échange (XML, JSON...)
    Réponses: 0
    Dernier message: 14/11/2008, 10h27
  3. Suppression de la contrainte unique
    Par mika dans le forum SQL
    Réponses: 3
    Dernier message: 20/02/2003, 17h56
  4. [CR] suppression du bas de page
    Par grosjej dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 10/09/2002, 08h58
  5. Réponses: 3
    Dernier message: 12/06/2002, 21h15

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