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 :

Comment lire des données d'un fichier XML à partir de java


Sujet :

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

  1. #1
    Provisoirement toléré
    Inscrit en
    Juin 2006
    Messages
    220
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 220
    Points : 79
    Points
    79
    Par défaut Comment lire des données d'un fichier XML à partir de java
    BONJOUR!


    SVP ! donnez moi une idée comment faire pour lire des données d'un fichier XML à partir d'une classe java .


    MERCI Bc !

  2. #2
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Citation Envoyé par kamaldev
    BONJOUR!


    SVP ! donnez moi une idée comment faire pour lire des données d'un fichier XML à partir d'une classe java .


    MERCI Bc !
    Il te faut utiliser soit un parseur XML (DOM, JDOM, SAX, ...) ou alors, tu le lis comme un fichier texte en extrayant les infos dont tu as besoin

  3. #3
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Points : 841
    Points
    841
    Par défaut
    tu peux voir dans la faq (partie xml)

    http://java.developpez.com/faq/java/?page=langage_xml




    edit : je vois pas de faw....mauvaise fois
    Ce n’est pas en cassant le thermomètre que vous ferez baisser la température

  4. #4
    Provisoirement toléré
    Inscrit en
    Juin 2006
    Messages
    220
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 220
    Points : 79
    Points
    79
    Par défaut ko
    merci d avance

    mais en fait la faw c'est quoi exactement?

  5. #5
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Citation Envoyé par kamaldev
    mais en fait la faw c'est quoi exactement?
    C'est une FAQ qui prend son Q pour un W...
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  6. #6
    Provisoirement toléré
    Inscrit en
    Juin 2006
    Messages
    220
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 220
    Points : 79
    Points
    79
    Par défaut
    à vrai dire je veux faire marcher ce programme mais il marche pas ! il y a une erreur sur la ligne rouge :
    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
     
    import java.io.*;
    import java.text.Format;
    import org.jdom.*;
    import org.jdom.Document;
    import org.jdom.output.*;
    import javax.xml.parsers.*; 
    import org.w3c.dom.*; 
    import org.xml.sax.*; 
     
    public class JDOM1
    {
     
        public static void main(String[] args){
           try{
              // création d'une fabrique de documents
              DocumentBuilderFactory fabrique = DocumentBuilderFactory.newInstance();
              // création d'un constructeur de documents
              DocumentBuilder constructeur = fabrique.newDocumentBuilder();
              // lecture du contenu d'un fichier XML avec DOM
              File xml = new File("C:/book.xml");
              Document document =  constructeur.parse(xml);
              //traitement du document
              //voir ExempleDOM.zip
           }catch(ParserConfigurationException pce){
              System.out.println("Erreur de configuration du parseur DOM");
              System.out.println("lors de l'appel à fabrique.newDocumentBuilder();");
           }catch(SAXException se){
              System.out.println("Erreur lors du parsing du document");
              System.out.println("lors de l'appel à construteur.parse(xml)");
           }catch(IOException ioe){
              System.out.println("Erreur d'entrée/sortie");
              System.out.println("lors de l'appel à construteur.parse(xml)");
           }
        }
     }
    à l execution : il affiche sur la console le message suivant :

    java.lang.ClassCastException
    at JDOM1.main(JDOM1.java:24)
    Exception in thread "main"


    voilà


    le probleme est affiché sur l anglai probleme de Eclipse :

    Type mismatch: cannot convert from Document to Document JDOM1.java LectureDeFichierXML line 24

    voilà donc

  7. #7
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Points : 841
    Points
    841
    Par défaut
    pour le "faw" c'est une erreur .lit plutot "faq".

    sinon essaye de caster :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Document document = (Document)constructeur.parse(xml);
    Ce n’est pas en cassant le thermomètre que vous ferez baisser la température

  8. #8
    Provisoirement toléré
    Inscrit en
    Juin 2006
    Messages
    220
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 220
    Points : 79
    Points
    79
    Par défaut
    non walou ça donne rien du tout !

    l erreur qu il affiche si je caste c'est :
    java.lang.ClassCastException
    at ServiceQuery.main(ServiceQuery.java:27)
    Exception in thread "main"

    mais si je remplace Document par : XMLDocument : càd

    XmlDocument document = (XmlDocument) constructeur.parse(xml);

    mais c'est quoi la difference entre les deux ??

    Voilà mon fichier xml :

    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
     
    <?xml version="1.0" encoding="UTF-8"?>
     
    <Queries>
    <Query Subject="Java 1.5" >
     
    <Body>select * from 1 ........</Body>
     
    </Query>
    <Query Subject="Java Architect" >
     
    <Body>select * from 2 .........</Body>
     
    </Query>
     
    <Query Subject="Java Architect" >
     
    <Body>select * from 3 .........</Body>
     
    </Query>
     
    </Queries>
    lorsque je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     System.out.println("le corps du la tag :"+   document.getElementsByTagName("Body").item(2));
    il m affiche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    le corps du la tag :<Body>select * from 3 .........</Body>
    >> ma question comment faire pour afficher just le contenu du la tag sans inclure les tag <Body> ...</Body> ces tag c'est moi qui les defini ds le fichier xml (par hasard j les nommé body ils ne sont pas des mots clé )

  9. #9
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Points : 841
    Points
    841
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     document.getElementsByTagName("Body").item(2).getNodeValue();
    Ce n’est pas en cassant le thermomètre que vous ferez baisser la température

  10. #10
    Provisoirement toléré
    Inscrit en
    Juin 2006
    Messages
    220
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 220
    Points : 79
    Points
    79
    Par défaut
    non ça donne null à l affichage

  11. #11
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Points : 841
    Points
    841
    Par défaut
    n tout cas c'est avec

    que tu recupere le contenu d'un noeud.
    Ce n’est pas en cassant le thermomètre que vous ferez baisser la température

  12. #12
    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 as mélangé un document JDOM et un document DOM...
    Ton "constructeur" est prévu pour créer un org.w3c.dom.Document.
    Si tu veux utiliser DOM, supprime les import de classes JDOM.

Discussions similaires

  1. Réponses: 6
    Dernier message: 05/02/2008, 22h52
  2. Réponses: 2
    Dernier message: 20/10/2006, 10h49
  3. [DELPHI6] Comment exporter des données vers un fichier XML ?
    Par zoaax dans le forum Bases de données
    Réponses: 1
    Dernier message: 06/10/2006, 15h58
  4. Réponses: 3
    Dernier message: 13/12/2004, 13h54
  5. CFile : comment lire des données
    Par romeo9423 dans le forum MFC
    Réponses: 3
    Dernier message: 25/10/2004, 19h10

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