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 :

Traiter plusieurs documents XML de manière automatique


Sujet :

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

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2012
    Messages : 88
    Points : 51
    Points
    51
    Par défaut Traiter plusieurs documents XML de manière automatique
    salut à tous,

    j'ai besoin de votre aide dans le problème suivant:
    mon travail consiste 1. lire un documents XML. 2.faire des traitements sur ce documents. 3. enregistrer le document.
    Mais, moi j'ai plus de 200 documents donc comment je peux faire ça de manière automatique au lieu de faire ce travail pour chaque document qui prend beaucoup de temps.

    Je m'excuse j'ai met pas un code parce que j'ai aucune idée sur ça.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 560
    Points : 21 622
    Points
    21 622
    Par défaut
    Ben, tu fais la liste des documents concernés, et tu fais une boucle pour appliquer les étapes 1, 2 et 3 sur chacun d'eux.

  3. #3
    Expert confirmé Avatar de yildiz-online
    Homme Profil pro
    Architecte de domaine
    Inscrit en
    Octobre 2011
    Messages
    1 444
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte de domaine

    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 444
    Points : 4 564
    Points
    4 564
    Par défaut
    pour parser et manipuler un fichier XML tu as jdom qui n'est pas compliqué à utiliser.

  4. #4
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2012
    Messages : 88
    Points : 51
    Points
    51
    Par défaut
    Salut à tous,
    Merci pour vos réponses.
    Selon votre réponse monsieur thelvin
    tu fais la liste des documents concernés, et tu fais une boucle pour appliquer les étapes 1, 2 et 3 sur chacun d'eux.
    j'ai écrit le code suivant où j'ai utilisé un ArrayList qui contient par exemple deux documents
    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
     
    public static void main(String[] args) {
     
    	ArrayList<String> l = new ArrayList<String>();
    	l.add("C:\\Documents and Settings\\Administrateur\\workspace\\doc1.xml");
    	l.add("C:\\Documents and Settings\\Administrateur\\workspace\\doc2.xml");
     
     
    	for(int i=0;i<l.size();i++)
    	   {
    		SAXBuilder sxd= new SAXBuilder();
    		try{
    			document = sxd.build(new File(l.get(i)));
    			racine = document.getRootElement();
    			// traitement...	 
     
    			enregistre(String.valueOf(i)+".xml");
    		       }catch(Exception e){} 
    }
    1. Ce code il marche bien mais malgré sa je veux savoir monsieur thelvin est ce que si ça votre idée.
    2. Est qu'elle n'existe pas une autre manière à part de mettre les documents XML dans une liste et de les lire directement à partir un dossier.
    Merci d'avance.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 7
    Points : 12
    Points
    12
    Par défaut
    ben si tu ne veux pas les mettre comme ça tu peux les passer en parametre a ton programme, et les mettre ensuite dans ta liste.
    ou sinon tu mets les chemins vers les documents dans un autre fichier.
    sinon tu peux aussi scanner tout un dossier et prendre en compte tous les documents .xml de ce dossier.
    toutes ces solutions ne sont pas tres compliqués a mettre en place niveau code.
    il faut que tu choisisse la solution la plus adéquate.

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 560
    Points : 21 622
    Points
    21 622
    Par défaut
    Citation Envoyé par loudji Voir le message
    1. Ce code il marche bien mais malgré sa je veux savoir monsieur thelvin est ce que si ça votre idée.
    Ma foi oui.
    - Je t'ai dit d'obtenir la liste des fichiers à traiter et tu as mis, à la main, dans ton programme, l'emplacement de chaque fichier que tu veux traiter... C'est une manière de le faire, en effet.
    - Je t'ai dit de faire une boucle dessus, et tu sembles très bien le faire.

    Citation Envoyé par loudji Voir le message
    2. Est qu'elle n'existe pas une autre manière à part de mettre les documents XML dans une liste et de les lire directement à partir un dossier.
    Si, toutes. Java permet de faire des programmes. Quand tu veux traiter des fichiers, tu peux en faire la liste de toutes les manières qu'un programme peut le faire.
    Tu veux laquelle ?

  7. #7
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2012
    Messages : 88
    Points : 51
    Points
    51
    Par défaut
    Salut à tous,
    merci beaucoup pour vos réponses et vos collaborations.
    la vérité moi je cherche la plus simple et la plus rapide méthode possible.

    sinon tu peux aussi scanner tout un dossier et prendre en compte tous les documents .xml de ce dossier.
    cela me permet de lister les documents XML qui se trouve dans le dossier c'est ça ?! peut être j’essayerai cette solution que pensez vous?

  8. #8
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 288
    Points : 261
    Points
    261
    Par défaut
    Ce que tu peut faire c'est :
    1. Passer les chemins de deux répertoires :
    un premier dans lequel se trouve tous les fichiers à traiter
    un deuxième dans lequel tu deplaceras tes fichiers traités
    2. Lire un premier fichier le traiter
    3. Déplacer le fichier traiter dans le répertoire de sortie. et tu repars à l'étape 2

    Pour tes traitements si tu veux simplement lire utilises la librairie Sax. C'est mieux en terme de performance. Par contre, si tu veux les modifier utilises plutôt Dom.
    J'espère t'avoir aidé.

  9. #9
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2012
    Messages : 88
    Points : 51
    Points
    51
    Par défaut
    Salut à tous,
    vraiment merci infiniment pour vos aides.
    j'ai écrit le code suivant qui permet de lister les chemins correspondants à des documents XML -où ces derniers sont regroupés dans répertoire- dans un ArrayList.
    ce code a comme entré le chemin vers le répertoire "path"
    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
     
    public static ArrayList<String> listerRep(String path){
    	File file = new File(path);
            String [] listefichiers;
    	int i;
            listefichiers=file.list();
            ArrayList<String> tab=new ArrayList<String>();
            for(i=0;i<listefichiers.length;i++){
               if(listefichiers[i].endsWith(".xml")==true)
                  {
                       tab.add(path+"\\"+listefichiers[i]);
                   }
            }
             return tab;
    }
    Ce code il marche bien, mais je veux savoir votre avis sur ce code avant de mettre "résolu".

  10. #10
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 560
    Points : 21 622
    Points
    21 622
    Par défaut
    Il est bien, même si moi j'aurais plutôt fait ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public static List<File> listerRep(String path){
      File file = new File(path);
      File[] files = file.listFiles(new FilenameFilter() {
        @Override
        public boolean accept(File dir, String name) {
          return name.endsWith(".xml");
        }
      });
      return Arrays.asList(files);
    }
    C'est plus court, plus clair...

  11. #11
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2012
    Messages : 88
    Points : 51
    Points
    51
    Par défaut
    Salut à tous,
    merci monsieur thelvin c'est vrai il est plus simple que mon programme.
    Donc cette discussion est "résolu" .
    Merci tout le monde.

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

Discussions similaires

  1. [XSLT 1.0] Srtip-spaces.. Et pour plusieurs documents XML?
    Par arnauddumont dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 18/04/2013, 10h35
  2. Extraire des infos d'un fichier XML de manière automatique
    Par dinozo13 dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 16/09/2008, 09h28
  3. [SimpleXML] Enregistrer un document XML de manière formatée
    Par Paul75 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 31/05/2008, 11h52
  4. Rassembler plusieurs documents XML
    Par shaudron dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 02/05/2006, 15h41
  5. [XSLT]select sur plusieur documents XML
    Par jesus144 dans le forum XMLRAD
    Réponses: 3
    Dernier message: 15/06/2005, 10h56

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