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 :

Mise à jour des docs xml avec dom4j


Sujet :

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

  1. #1
    Membre régulier Avatar de kodo
    Profil pro
    Chef de projet technique
    Inscrit en
    Mars 2006
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Chef de projet technique

    Informations forums :
    Inscription : Mars 2006
    Messages : 300
    Points : 92
    Points
    92
    Par défaut Mise à jour des docs xml avec dom4j
    Bonjour
    Comment peut on effectuer des mises à jour (les methodes à utiliser) sur des fichiers xml avec le framework dom4j (suppression, modification..) ?
    et merci.

  2. #2
    Membre habitué Avatar de Xavinou
    Inscrit en
    Mai 2005
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 135
    Points : 156
    Points
    156
    Par défaut
    Tu peux mettre à jour le dom que tu as en mémoire, par contre pour mettre à jour le fichier xml, il faut (re-)sérialiser le document.

  3. #3
    Membre régulier Avatar de kodo
    Profil pro
    Chef de projet technique
    Inscrit en
    Mars 2006
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Chef de projet technique

    Informations forums :
    Inscription : Mars 2006
    Messages : 300
    Points : 92
    Points
    92
    Par défaut
    j'ai pas bien compris votre reponse xavinou,si tu peux l'illustrer avec un petit exemple.
    et Merci. :o

  4. #4
    Membre habitué Avatar de Xavinou
    Inscrit en
    Mai 2005
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 135
    Points : 156
    Points
    156
    Par défaut
    Voici un petit programme qui supprime tous les éléments dont le tag est passé en paramètre.

    Personnelement je n'utilise pas dom4j mais la librairie fournie avec le jdk.

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
     
    import javax.xml.parsers.DocumentBuilderFactory;
     
    import org.w3c.dom.Document;
    import org.w3c.dom.Node;
    import org.w3c.dom.NodeList;
     
    import com.sun.org.apache.xml.internal.serialize.OutputFormat;
    import com.sun.org.apache.xml.internal.serialize.XMLSerializer;
     
    public class TestDom {
     
    	/**
             * @param args
             */
    	public static void main(String[] args) {
     
    		// chech parameters
    		if (args.length != 2) {
    			System.err.println("Usage: java TestDom file.xml tagToDelete");
    			System.exit(1);
    		}
     
    		// xml dom in memory
    		Document dom = null;
     
    		// xml file
    		File file = new File(args[0]);
     
    		// element to delete
    		String tagToDelete = args[1];
     
    		// create dom
    		try {
    			dom = DocumentBuilderFactory.newInstance()
    					.newDocumentBuilder().parse(file);
    		}
    		catch (Exception e) {
    			System.err.println(e);
    			System.exit(1);
    		}
     
    		// update dom (remove elements)
    		NodeList nodes = dom.getElementsByTagName(tagToDelete); 
    		for (int i = 0 ; i < nodes.getLength() ; i++) {
    			Node node = nodes.item(i);
    			node.getParentNode().removeChild(node);
    		}
     
    		// serialize dom
    		try {
    			OutputFormat format = new OutputFormat(dom);
    			XMLSerializer output = new XMLSerializer(new FileOutputStream(file), format);
    			output.serialize(dom);
    		}
    		catch (IOException ioe) {
    			System.err.println(ioe);
    			System.exit(1);
    		}
    	}
     
    }

Discussions similaires

  1. Réponses: 15
    Dernier message: 12/12/2011, 17h07
  2. Mise jour des champs avec formulaires
    Par tetsuoo dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 09/09/2007, 20h35
  3. Réponses: 0
    Dernier message: 30/08/2007, 16h46
  4. Problème de mise à jour des champs Auto incrémentés avec VB6.
    Par NHenry dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 28/05/2007, 16h06
  5. Réponses: 3
    Dernier message: 15/11/2005, 18h50

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