Répondre à la discussion
Affichage des résultats 1 à 17 sur 17

creer un fichier xml



  1. #1
    bacou

    creer un fichier xml


    ------

    Bonjour
    je voudrai savoir quelle technologie utilisée pour creer un fchier xml à partir de données extraites d'un fichier texte (txt).
    Merci

    -----

  2. Publicité
  3. #2
    Aneldo

    Re : creer un fichier xml

    Bonjour,
    si j'ai bien compris, tu as des données dans un fichier texte que tu aimerais mettre au format xml.

    Pour cela, je pense (et j'espere me tromper) qu'il n'existe rien d'automatique, il va falloir te faire un petit programme. Celui - ci pourrait etre tres simple, tous dépend de ton fichier texte.

  4. #3
    bacou

    Re : creer un fichier xml

    Merci pour ta reponse
    mais j'aimerai savoir quel langage faudrait il choisir .
    Dernière modification par yoda1234 ; 15/05/2007 à 10h43.

  5. #4
    Aneldo

    Re : creer un fichier xml

    cela dépend de toi et de la structure de ton fichier de données (tu peux en mettre un bout ici)

    Le perl est vraiment bon pour parser les fichiers (permet l'utilisation d'expression reguliere)
    Mais c'est aussi faisable en java ou autre. Cela depend de la complexité du fichier de données et de ta connaissance des expressions regulieres.

  6. A voir en vidéo sur Futura
  7. #5
    bacou

    Re : creer un fichier xml

    Disons j'aimerai le faire en java ou php mais je suis un peu limité pour ses langages mais tu ne sais pas lequel est le plus performant?
    merci
    Dernière modification par yoda1234 ; 15/05/2007 à 10h43.

  8. #6
    bacou

    Re : creer un fichier xml

    Citation Envoyé par Aneldo Voir le message
    cela dépend de toi et de la structure de ton fichier de données (tu peux en mettre un bout ici)

    Le perl est vraiment bon pour parser les fichiers (permet l'utilisation d'expression reguliere)
    Mais c'est aussi faisable en java ou autre. Cela depend de la complexité du fichier de données et de ta connaissance des expressions regulieres.
    exemple de donnés
    CMD <= admin log "CVMX: 2 content =netmetrics:GDE"
    CMD <= admin log "CVMX: 2 content =AT:0612222150"
    CMD <= admin log "CVMX: 2 content =metrics:AA:0810635202"
    CMD <= admin log "CVMX: 2 content =metrics:GD"
    CMD <= admin log "CVMX: 2 content =metrics:GC:accueil_ferme"
    CMD <= admin log "CVMX: 2 content =metrics:AT:message"
    CMD <= admin log "CVMX: 2 content =metrics:GF"
    CMD <= admin log "CVMX: 2 content =metrics:GD"
    CMD <= admin log "CVMX: 2 content =metrics:AM:vocal"

    je dois recuperer les tags en gras avec leur valeur s'ils en ont

  9. Publicité
  10. #7
    Aneldo

    Re : creer un fichier xml

    cela est faisable sans probleme, en java comme en php.

    Je suppose que la ligne 2 contient une erreur
    CMD <= admin log "CVMX: 2 content =AT:0612222150"
    il ne manquerais pas le mot clé metrics? ou netmetrics?

    Je te propose de récupérer le tag et la valeur si elle est presente.

    Mais tous d'abord:
    y as t il une erreur en ligne 2?
    est ce que en ligne 1, on a bien le mot clé netmetrics et non pas metrics?
    Y as t il d'autre mot clé?

  11. #8
    bacou

    Re : creer un fichier xml

    Citation Envoyé par Aneldo Voir le message
    Mais tous d'abord:
    y as t il une erreur en ligne 2?
    est ce que en ligne 1, on a bien le mot clé netmetrics et non pas metrics?
    Y as t il d'autre mot clé?
    oui ya une erreur
    20061219_065111,444 1166507471439-7438 CMD <= admin log "CVMX: 2 content =netmetrics:GDEB"
    20061219_065111,444 1166507471439-7438 CMD <= admin log "CVMX: 2 content =ATEL:0612222150"
    20061219_065111,444 1166507471439-7438 CMD <= admin log "CVMX: 2 content =netmetrics:AAGC:0810635202"
    20061219_065111,444 1166507471439-7438 CMD <= admin log "CVMX: 2 content =netmetrics:GDTS"
    20061219_065111,444 1166507471439-7438 CMD <= admin log "CVMX: 2 content =netmetrics:GCES:accueil_ferme "
    20061219_065111,444 1166507471439-7438 CMD <= admin log "CVMX: 2 content =netmetrics:ATES:message"
    20061219_065111,444 1166507471439-7438 CMD <= admin log "CVMX: 2 content =netmetrics:GFTS"
    20061219_065153,122 1166507471439-7438 CMD <= admin log "CVMX: 2 content =netmetrics:GDTU"
    20061219_065153,122 1166507471439-7438 CMD <= admin log "CVMX: 2 content =netmetrics:AMSU:vocal"
    voila un exemple complet mais ya d'autres tag de ce genre
    ce nest juste qu'un exemple
    Dernière modification par yoda1234 ; 15/05/2007 à 10h44.

  12. #9
    Aneldo

    Re : creer un fichier xml

    je te propose un script java :

    Celui ci fonctionne pour toutes les lignes sauf la deuxieme.
    il n'est pas sensible au mot netmetrics (donc il peut y avoir n'importe lequel à la place)

    Code:
    try {
        //le fichier de donnée d'entrée
        BufferedReader inputDataFile = new BufferedReader(new FileReader("data.txt"));
    
        //le fichier de sortie xml
        PrintWriter outputXmlFile =  new PrintWriter(new BufferedWriter(new FileWriter("data.xml"))); 
    
    
        //lecture d'une ligne du fichier de donnée (tant qu'il y en a)
        String line = "";
        while( (line=inputDataFile.readLine()) != null ) {
            // line = CMD <= admin log "CVMX: 2 content =metrics:AM:vocal"                
            System.out.println("ligne en cours de traitement : " + line);
    
            //on coupe la ligne en 2 :
            String [] sa = line.split(" =");
            //sa[0] = "CMD <= admin log "CVMX: 2 content"
            //sa[1] = "metrics:AM:vocal""
    
            //suppression du caractere " en fin de chaine
            sa[1] = sa[1].substring(0, sa[1].length()-1);
    
            String [] sb = sa[1].split(":");
            //sb[0] : le mot cle (on s'en fiche) netmetrics
            //sb[1] : le nom du tag
            //sb[2] : la valeur du tag (optionnel) 
            try {
                outputXmlFile.println("<tag name=\"" + sb[1] + "\" value=\"" + sb[2] + "\"/>");
            } catch (Exception e) {
                outputXmlFile.println("<tag name=\"" + sb[1] + "\" value=\"" + "null" + "\"/>");
            }
        }
    
        outputXmlFile.close();
        inputDataFile.close();  
    } catch (Exception ex) {
        System.out.println(ex);
    }

    Pour la ligne 2, il faut traiter le cas sb[0] different de "netmetrics" et enregistrer dans le fichier xml sb[0] et sb[1] au lieu de sb[1] et sb[2].

    Bien sure, il reste à rajouter l'encapsulation des données xml

  13. #10
    bacou

    Re : creer un fichier xml

    je te recmercie beaucoup je vais essayer
    a+
    Dernière modification par yoda1234 ; 15/05/2007 à 10h45.

  14. #11
    lou_ibmix_xi

    Re : creer un fichier xml

    Salut,
    Pour la partie xml, tu as une foultitude de bibliothèque existante, du plus simple au plus compliqué, google + "java xml parser" et tu devrais trouver ton bonheur.

  15. #12
    bacou

    Re : creer un fichier xml

    Citation Envoyé par lou_ibmix_xi Voir le message
    Salut,
    Pour la partie xml, tu as une foultitude de bibliothèque existante, du plus simple au plus compliqué, google + "java xml parser" et tu devrais trouver ton bonheur.
    Merci pour la reponse je vai regarder sur google
    a+

  16. Publicité
  17. #13
    bacou

    Re : creer un fichier xml

    Citation Envoyé par bacou Voir le message
    je te recmercie beaucoup je vais essayer
    a+
    Bonjour ,
    Pour la 2eme ligne j'ai essayé avec la condition if au cas il yaurai pas de netmetrics c vrai que il marche mais il decale les autres lignes et a la place des tags on a netmetrics et a la place des valeurson les tags
    Code:
    /*
     * Ecrirefichier.java
     *
     * Created on 14 mai 2007, 09:39
     *
     * To change this template, choose Tools | Template Manager
     * and open the template in the editor.
     */
    
    package my.contacteditor;
    import java.awt.*;
     import java.awt.event.*;
     import javax.swing.*; 
     import java.io.*;
      import java.io.FileReader;
      import java.lang.*;
      import java.util.StringTokenizer;
     import java.io.IOException;
    /**
     *
     * @author ybda8222
     */
    public class Ecrirefichier {
        
        /** Creates a new instance of Ecrirefichier */
       Ecrirefichier(String nom) throws IOException {
           try {
        //le fichier de donnée d'entrée
        BufferedReader inputDataFile = new BufferedReader(new FileReader(nom));
    
        //le fichier de sortie xml
        PrintWriter outputXmlFile =  new PrintWriter(new BufferedWriter(new FileWriter("data.xml"))); 
    
    
        //lecture d'une ligne du fichier de donnée (tant qu'il y en a)
        String line = "";
        while( (line=inputDataFile.readLine()) != null ) {
            // line = CMD <= admin log "CVMX: 2 content =metrics:AM:vocal"                
            System.out.println("ligne en cours de traitement : " + line);
    
            //on coupe la ligne en 2 :
            String [] sa = line.split(" =");
           
            //sa[0] = "CMD <= admin log "CVMX: 2 content"
            //sa[1] = "metrics:AM:vocal""
    
            //suppression du caractere " en fin de chaine
            sa[1] = sa[1].substring(0, sa[1].length()-1);
    
            String [] sb = sa[1].split(":");
                     
                     //sb[0] : le mot cle (on s'en fiche) netmetrics
                        //sb[1] : le nom du tag
                            //sb[2] : la valeur du tag (optionnel) 
                         // System.out.println("la ligne" + sb[0]);
                          if(sb[0]!="netmetric")
                          {
                           try {
                  
                        outputXmlFile.println("<tag name=\"" + sb[0] + "\" value=\"" + sb[1] + "\"/>");
                
                        } catch (Exception e) {
                             outputXmlFile.println("<tag name=\"" + sb[0] + "\" value=\"" + "null" + "\"/>") ; 
                           
                        }
                          }
                           else 
                           {
                               try {
                            
                  
                        outputXmlFile.println("<tag name=\"" + sb[0] + "\" value=\"" + sb[1] + "\"/>");
                
                        } catch (Exception e) {
                             outputXmlFile.println("<tag name=\"" + sb[0] + "\" value=\"" + "null" + "\"/>") ; 
                           
                       }
                          }    
         
           }
            outputXmlFile.close();
           inputDataFile.close();
       }   catch (Exception ex) {
       System.out.println(ex);
    }
        
     }
       
         public static void main(String [] args) throws IOException {
        Ecrirefichier bab =new Ecrirefichier(args[0]);
       
           
         }
     
      }
    resultats
    Code:
    <tag name="netmetrics" value="GDEB"/>
    <tag name="ATEL" value="0612222150"/>
    <tag name="netmetrics" value="AAGC"/>
    <tag name="netmetrics" value="GDTS"/>
    <tag name="netmetrics" value="GCES"/>
    <tag name="netmetrics" value="ATES"/>

  18. #14
    bacou

    Re : creer un fichier xml

    Bonjour ,
    Pour la 2eme ligne j'ai essayé avec la condition if au cas il yaurai pas de netmetrics c vrai que il marche mais il decale les autres lignes et a la place des tags on a netmetrics et a la place des valeurson les tags
    Code:
    /*
     * Ecrirefichier.java
     *
     * Created on 14 mai 2007, 09:39
     *
     * To change this template, choose Tools | Template Manager
     * and open the template in the editor.
     */
    
    package my.contacteditor;
    import java.awt.*;
     import java.awt.event.*;
     import javax.swing.*; 
     import java.io.*;
      import java.io.FileReader;
      import java.lang.*;
      import java.util.StringTokenizer;
     import java.io.IOException;
    /**
     *
     * @author ybda8222
     */
    public class Ecrirefichier {
        
        /** Creates a new instance of Ecrirefichier */
       Ecrirefichier(String nom) throws IOException {
           try {
        //le fichier de donnée d'entrée
        BufferedReader inputDataFile = new BufferedReader(new FileReader(nom));
    
        //le fichier de sortie xml
        PrintWriter outputXmlFile =  new PrintWriter(new BufferedWriter(new FileWriter("data.xml"))); 
    
    
        //lecture d'une ligne du fichier de donnée (tant qu'il y en a)
        String line = "";
        while( (line=inputDataFile.readLine()) != null ) {
            // line = CMD <= admin log "CVMX: 2 content =metrics:AM:vocal"                
            System.out.println("ligne en cours de traitement : " + line);
    
            //on coupe la ligne en 2 :
            String [] sa = line.split(" =");
           
            //sa[0] = "CMD <= admin log "CVMX: 2 content"
            //sa[1] = "metrics:AM:vocal""
    
            //suppression du caractere " en fin de chaine
            sa[1] = sa[1].substring(0, sa[1].length()-1);
    
            String [] sb = sa[1].split(":");
                     
                     //sb[0] : le mot cle (on s'en fiche) netmetrics
                        //sb[1] : le nom du tag
                            //sb[2] : la valeur du tag (optionnel) 
                         // System.out.println("la ligne" + sb[0]);
                          if(sb[0]!="netmetric")
                          {
                           try {
                  
                        outputXmlFile.println("<tag name=\"" + sb[0] + "\" value=\"" + sb[1] + "\"/>");
                
                        } catch (Exception e) {
                             outputXmlFile.println("<tag name=\"" + sb[0] + "\" value=\"" + "null" + "\"/>") ; 
                           
                        }
                          }
                           else 
                           {
                               try {
                            
                  
                        outputXmlFile.println("<tag name=\"" + sb[0] + "\" value=\"" + sb[1] + "\"/>");
                
                        } catch (Exception e) {
                             outputXmlFile.println("<tag name=\"" + sb[0] + "\" value=\"" + "null" + "\"/>") ; 
                           
                       }
                          }    
         
           }
            outputXmlFile.close();
           inputDataFile.close();
       }   catch (Exception ex) {
       System.out.println(ex);
    }
        
     }
       
         public static void main(String [] args) throws IOException {
        Ecrirefichier bab =new Ecrirefichier(args[0]);
       
           
         }
     
      }
    resultats
    Code:
    <tag name="netmetrics" value="GDEB"/>
    <tag name="ATEL" value="0612222150"/>
    <tag name="netmetrics" value="AAGC"/>
    <tag name="netmetrics" value="GDTS"/>
    <tag name="netmetrics" value="GCES"/>
    <tag name="netmetrics" value="ATES"/>
    Dernière modification par yoda1234 ; 15/05/2007 à 10h47.

  19. #15
    Aneldo

    Re : creer un fichier xml

    mais il decale les autres lignes et a la place des tags on a netmetrics et a la place des valeurson les tags
    c'est normal : dans ton else il faut changer les indices
    Code:
    else 
    {   
       try { 
          outputXmlFile.println("<tag name=\"" + sb[1] + "\" value=\"" + sb[2] + "\"/>");
       } catch (Exception e) {
          outputXmlFile.println("<tag name=\"" + sb[1] + "\" value=\"" + "null" + "\"/>") ; 
       }
    }
    de plus, il y a une faute d'hortographe à netmetrics : ca prend un s
    du coup tu tombais tous le temps dans le if(sb[0]!="netmetric") qui ne fonctionne pas en java
    il faut utiliser String.equals(" ");
    ou String.compare(" ");

    voici le if / else
    Code:
    if( sb[0].equals("netmetrics") || sb[0].equals("metrics") ){                    
        try { 
            outputXmlFile.println("<tag name=\"" + sb[1] + "\" value=\"" + sb[2] + "\"/>");
        }               
        catch (Exception e) {
            outputXmlFile.println("<tag name=\"" + sb[1] + "\" value=\"" + "null" + "\"/>") ;
        } 
    }
    else {
        try {
            outputXmlFile.println("<tag name=\"" + sb[0] + "\" value=\"" + sb[1] + "\"/>");
        } catch (Exception e) {
             outputXmlFile.println("<tag name=\"" + sb[0] + "\" value=\"" + "null" + "\"/>") ; 
        }
    }
    Tu remarqueras que j'ai intervertie le traitement de if et de else pour plus de comprehension et que j'ai rajouté le mot clé metrics

    ps : j'ai testé le code et cela fonctionne

  20. #16
    bacou

    Re : creer un fichier xml

    Ben mon gars je te remercie beaucoup .je vais le modifier
    Dernière modification par yoda1234 ; 15/05/2007 à 10h46.

  21. #17
    yoda1234

    Re : creer un fichier xml

    Bonjour,

    tu n'as pas besoin d'utiliser systématiquement le bouton "citer" pour répondre aux messages: tu alourdis inutilement la lecture du fil, tu peux utiliser le bouton "répondre" .
    Là où l'ignorance est un bienfait, c'est de la folie d'être sage (Thomas Gray).

Discussions similaires

  1. Réponses: 7
    Dernier message: 12/06/2007, 15h27
  2. fichier xml avec language R?????
    Par 18marie dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 04/07/2006, 09h35
  3. comment Créer un lien sur un skyblog pour faire télécharger un fichier?
    Par polak dans le forum Internet - Réseau - Sécurité générale
    Réponses: 6
    Dernier message: 18/05/2006, 13h00
  4. Langage XML
    Par kNz dans le forum Internet - Réseau - Sécurité générale
    Réponses: 3
    Dernier message: 15/05/2006, 18h17
  5. xml to xls
    Par vince dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 13/12/2004, 16h16
Découvrez nos comparatifs produits sur l'informatique et les technologies.