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 :

Suppression balises + éléments


Sujet :

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

  1. #1
    Membre éclairé Avatar de Tuxico
    Profil pro
    Étudiant
    Inscrit en
    Août 2003
    Messages
    662
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2003
    Messages : 662
    Points : 770
    Points
    770
    Par défaut Suppression balises + éléments
    Bonjour,

    je débute avec JDom, le tuto de développez.net m'a bien aidé, mais il me reste une impasse.

    voici la structure de mon fichier XML:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <Utilisateurs>
          <Information>
                  <Name>blabla</Name>
                  <Login>bla</Login>
                  <Ip>192.168.2.1</Ip>
          </Information>
          <Information>
                   ...
          </Information>
    </Utilisateurs>
    et j'aimerai supprimer par exemple tout de <information> à </information> où le nom est égal à 'blabla' donc qu'il me reste:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <Utilisateurs>
          <Information>
                   ...
          </Information>
    </Utilisateurs>
    ceci dans le fichier.


    J'utilise ceci:

    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
    public void supp(String element){
            List listUsers = racine.getChildren();
            Iterator i = listUsers.iterator();
            while(i.hasNext()) {
                Element courant = (Element)i.next();
                List fils = courant.getChildren(element);
                Iterator iterator = fils.iterator();
                    while (iterator.hasNext()) {
                        Element noeud = (Element)iterator.next();
                        String balise = noeud.getValue();
                        if(balise.equals("blabla")){
                             fils.remove(noeud);
                        }
                    }
            }
        }
    mais cela ne supprime rien du tout.


    un éclaircissement?


    PS: evidemment, j'enregistre bien le fichier après

    merci

  2. #2
    Membre habitué
    Homme Profil pro
    Developpeur web/Java
    Inscrit en
    Février 2008
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Developpeur web/Java
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Février 2008
    Messages : 98
    Points : 178
    Points
    178
    Par défaut
    Salut,

    j'ai regardé rapidement ton code et ce passage me semble celui où il y a le problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
                        String balise = noeud.getValue();
                        if(balise.equals("blabla")){
                             fils.remove(noeud);
                        }
    Je pense que tu utilises la méthode getValue() mais que ce n'est pas celle ci que tu devrais utiliser plutôt getText() à priori.

    Enfin si tu veux être sur tu peux afficher pour déboguer le contenu de la variable "balise".

  3. #3
    En attente de confirmation mail

    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 766
    Points : 1 267
    Points
    1 267
    Par défaut
    Il est plus logique et plus propre d'utiliser les Filter .

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Points : 1 610
    Points
    1 610
    Par défaut
    Un remove du noeud père doit suffire.
    Ne pas oublié que les actions sur l'abre sont purement en mémoire, si on veut modifier le fichier source, il faut le ré-écrire.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 34
    Points : 25
    Points
    25
    Par défaut Suppression d'un noeud avec jdom
    Bonjour,
    J'ai exactement le meme probleme de suppression.
    J'arrive pas à supprimer le noued en entier , je peux seulement supprimer son contenu.
    exemple
    <liste_composants>
    <composant>
    <el>toto</el>
    <el> </el>
    </composant>
    <composant>
    <el> titi </el>
    </composant>
    </liste-composants>

    je veux supprimer le composant contenant l'element "toto".
    merci d'avance

Discussions similaires

  1. Suppression d'éléments dans un tableau (Array)
    Par jeremie74 dans le forum Flash
    Réponses: 4
    Dernier message: 06/03/2007, 14h54
  2. Suppression d' éléments dans une liste.
    Par conan76 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 02/03/2007, 10h33
  3. Suppression balise HTML en Javascript
    Par calahaan dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/01/2007, 23h18
  4. [Tableaux] Suppression d'élément de tableau
    Par jpascal dans le forum Langage
    Réponses: 2
    Dernier message: 27/12/2006, 16h11
  5. [xslt] Suppression des éléments sans contenu.
    Par dibbouk dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 17/06/2005, 18h17

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