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 :

Lire un fichier XMI


Sujet :

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

  1. #1
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 7
    Par défaut Lire un fichier XMI
    Bonjour,

    voila je cherche a parser un fichier xmi. mais j'arrive pas à lire les attribuuts d'une balise donnée. alors y'a t-il une différence entre les attributs xml et xmi?

    si vous pouvez me filer un exemple ça sera trés interessant.

    et merci d'avance

  2. #2
    Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 3
    Par défaut
    ya t-il pas encore de réponse à cette question??
    j'ai presque le même prob que toi abdou..
    SVP de l'aide

  3. #3
    oca
    oca est déconnecté
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2004
    Messages : 354
    Par défaut
    Citation Envoyé par abdo.1980 Voir le message
    Bonjour,
    alors y'a t-il une différence entre les attributs xml et xmi?
    non... pas de différences... Techniquement, un document xmi est un document xml.
    Tu as essayé de lire ton fichier avec quel outil /framework ?

  4. #4
    Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 3
    Par défaut
    Bonjour,

    j'ai arrivé à lire ce qui m'intéresse d'un fichier xmi ,je vous donne un exemple:

    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
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.DocumentBuilder;
    import org.w3c.dom.Document;
    import org.w3c.dom.NodeList;
    import java.util.Vector;
    import java.io.*;
     
     
    public class LectureMeta {
        String FilePath="E:\\fichier.xmi";
        String nomPhyTab="";
        Vector listePhyTab=new Vector();
     
     
        public Vector lectureTabPhy() {
            try
                 { 
                        System.out.println("Start...");
                        DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
                        DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
                        Document doc = docBuilder.parse (new File(FilePath));
                        //System.out.print(FilePath+" est lu avec succès...\n");
                        NodeList listOfElements = doc.getElementsByTagName("CWM: Description");
     
                        //System.out.print("Element lu...\n");               
     
                       for(int s=0; s<listOfElements.getLength() ; s++)
                        { 
                           //chercher les attributs et les recupérer :
                           if (listOfElements.item(s).getAttributes().getNamedItem("name").getNodeValue().equals("target_table"))
                           {            
     
                                nomPhyTab=listOfElements.item(s).getAttributes().getNamedItem("body").getNodeValue().toString();
                               // System.out.println("Element.."+nomPhyTab+" detecté..\n"); 
                                listePhyTab.add(nomPhyTab);                
     
                            }
     
                        }
                    }
              catch (Exception e)
              {
                  System.out.print(" L'opération génère l'erreur suivante:  ");
                  System.out.println( e.toString());
     
              }
     
            return listePhyTab;
        }
    }

    Ici je récupère le contenu dans un vecteur,
    le main est le suivant:

    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
     
    import java.util.Vector;
    /**
     *
     * @author mimi512
     */
    public class Main {
     
        /**
         * @param args the command line arguments
         */
        public static void main(String[] args){
                // TODO code application logic here
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
     
                    LectureMeta l=new LectureMeta();
                    Vector liste=new Vector();
                          liste=l.lectureTabPhy();
                   for (int i=0;i<liste.size();i++)
                   {
                       System.out.println("Physical Table : "+i+" "+liste.get(i).toString());
                   }
     
                }
            });
     
     
        }
     
    }
    Ce ci pour avoir le résultat suivant:

    compile:
    run:
    Start...
    Physical Table : 0 personnel
    Physical Table : 1 adresse
    BUILD SUCCESSFUL (total time: 4 seconds)
    la partie du fichier que touche ce code est:
    ....
    <CWM: Description xmi.id = 'a224' name = 'target_table' body = 'personnel'
    type = 'String'>
    <CWM: Description.modelElement>
    <CWMRDB: Table xmi.idref = 'a128'/>
    </CWM: Description.modelElement>
    </CWM: Description>
    ....

    <CWM: Description xmi.id = 'a262' name = 'target_table' body = 'adresse'
    type = 'String'>
    <CWM: Description.modelElement>
    <CWMRDB: Table xmi.idref = 'a140'/>
    </CWM: Description.modelElement>
    </CWM: Description>
    ...

    J'espère que ca répends à vos besoins

Discussions similaires

  1. [Servlet][EJB]lire un fichier à partir de mon bean
    Par kimausoleil dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 13/02/2004, 14h26
  2. [MFC] lire un fichier en int
    Par Kevgeii dans le forum MFC
    Réponses: 3
    Dernier message: 23/01/2004, 09h32
  3. Réponses: 5
    Dernier message: 11/01/2004, 20h17
  4. Lire un fichier de 50 gb
    Par Maryves dans le forum MFC
    Réponses: 2
    Dernier message: 08/01/2004, 14h08
  5. Lire le fichier du port série
    Par saibe dans le forum Linux
    Réponses: 7
    Dernier message: 09/04/2003, 09h29

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