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

Entrée/Sortie Java Discussion :

Convertion fichier XML to CSV Java


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Décembre 2022
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2022
    Messages : 72
    Par défaut Convertion fichier XML to CSV Java
    Bonjour,

    J'ai fait un petit programme Java comme ceci afin de convertir un fichier.xml en fichier.csv .

    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
        //lecture du fichier SHI.xml
            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
            DocumentBuilder builder = factory.newDocumentBuilder();
            Document document = builder.parse(new File("C:\\Users\\Maintenance\\int_EGO\\SHI\\SHI.xml"));
            //Rechercher chaque code commande dans les champs "NUMXCVE"
            document.getDocumentElement().normalize();
            NodeList NUMXCVEListe = document.getElementsByTagName("NUMXCVE");
            DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd/MM/yyyy");  
            LocalDateTime now = LocalDateTime.now();  
     
            //Rechercher chaque ligne quantité dans les champs "Quantite"
            //NodeList REFXARTListe = document.getElementsByTagName("REFXART");
            NodeList QuantiteListe = document.getElementsByTagName("Quantite");
            NodeList NLIXCVLListe = document.getElementsByTagName("NLIXCVL");
            NodeList TRCXCVLListe = document.getElementsByTagName("TRCXCVL");
            NodeList REFXCVEListe = document.getElementsByTagName("REFXCVE");
            //créer le fichier SHI.csv
            FileWriter file = new FileWriter("C:\\Users\\Maintenance\\int_EGO\\SHI\\SHI.csv");
            //Ajoute de l'entete dans un tableau et le fichier csv
            List<Object> data = new ArrayList<>();
            String[] entete = {
                    "Document - N° document",
                    "Document - BL EGO",
                    "Document - Date",
                    "Document - Code client",
                    "Document - Nom du client",
                    "Ligne - Code article",
                    "Ligne - Quantité",
                    "Ligne - % remise",
                    "Ligne - référence client",
     
            };
            file.append(entete[0]
                    +";"+entete[1]
                            +";"+entete[2]
                                    +";"+entete[3]
                                            +";"+entete[4]
                                                    +";"+entete[5]
                                                            +";"+entete[6]
                                                                    +";"+entete[7]
                                                                            +";"+entete[8]
                                                                                    +";"+entete[9]
                                                                                            +"\n");
     
            System.out.println(entete[0]);
            System.out.println(entete[5]);
            data.add(entete);
    Mais lors de l'exécution de mon programme.

    Mon fichier.csv est vide ?

    Avez-vous des solutions ?

    Merci d'avance pour vos réponses

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Vu que le FileWriter n'est pas fermé, ça semble cohérent.
    Il faudrait utiliser la forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ...
    try
    (FileWriter file = new FileWriter("C:\\Users\\Maintenance\\int_EGO\\SHI\\SHI.csv");)
    {
        // le code d'utilisation de file
    }
    catch (Exception e)
    {
       // Traitement si besoin de l'exception
    }
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre chevronné
    Homme Profil pro
    Architecte technique
    Inscrit en
    Mai 2020
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mai 2020
    Messages : 347
    Par défaut
    Bonjour,

    Vous ne fermez pas le file. Par ailleurs la ligne data.add(entete); n'aura pas d'incidence sur le contenu de votre fichier.

  4. #4
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Décembre 2022
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2022
    Messages : 72
    Par défaut
    Le "file.append" est fermé à la ligne 42 après le " \n);"

  5. #5
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Et alors... l'instance "file" n'est pas fermée et c'est elle qui compte.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Décembre 2022
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2022
    Messages : 72
    Par défaut
    Dans ce cas comment le fermer ?

  7. #7
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Hmmm, l'exemple au-dessus, celui qui dit "Il faudrait utiliser la forme" suivi d'un exemple de code.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. sed et awk pour transformation d'un fichier XML en CSV
    Par bstages2000 dans le forum Linux
    Réponses: 4
    Dernier message: 02/03/2008, 17h19
  2. [DOM] [Débutant(e)] écrire sur un fichier XML à partir de java
    Par Samanta dans le forum Format d'échange (XML, JSON...)
    Réponses: 11
    Dernier message: 05/02/2008, 11h13
  3. Comment importer un fichier xml ou csv dans une table paradox ?
    Par pierrot67 dans le forum Bases de données
    Réponses: 1
    Dernier message: 19/09/2007, 15h35
  4. Convertion fichier excel en CSV
    Par ceaser dans le forum Excel
    Réponses: 1
    Dernier message: 23/05/2007, 14h56
  5. Comment lire des données d'un fichier XML à partir de java
    Par kamaldev dans le forum Format d'échange (XML, JSON...)
    Réponses: 11
    Dernier message: 25/08/2006, 19h29

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