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 :

problème avec la désérialisation d'un fichier xml [XStream]


Sujet :

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

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 13
    Points : 5
    Points
    5
    Par défaut problème avec la désérialisation d'un fichier xml
    Salut tout le monde.
    J'ai besoin de récupérer des données à partir d'un fichier xml pour après les insérer dans une base de données.
    J'ai utilisé l'API Xtream pour cette désérialisation mais j'ai rencontré un problème.
    Le tutoriel que j'ai suivi utilise un fichier xml avec la structure suivante:
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <projetPackage.xtream.Article>
      <entete>
        <titre>Titre de l&apos;article</titre>
        <dateCreation>2008-11-10 15:56:25.125 GMT</dateCreation>
      </entete>
      <synopsis>Un synopsis bien placé !!! &lt;strong&gt;avec une balise HTML&lt;/strong&gt;</synopsis>
    </projetPackage.xtream.Article>
    Le problème c'est que mon fichier xml n'a pas la même structure que celui la, il a la structure suivante:
    Code XML : 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
     
    <getIASFResponse xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://www....">
    <wo-international-application-status>
    <publication-reference>
    <document-id lang="EN">
    <country>WO</country>
    <doc-number>200365</doc-number>
    <date>20080103</date>
    </document-id>
    </publication-reference>
    <application-reference appl-type="PCT">
    <document-id lang="EN">
    <country>EP</country>
    <doc-number>PCT/EP2007/056267</doc-number>
    <date>20070622</date>
    </document-id>
    </application-reference>
    <wo-application-info>
    <date-of-earliest-priority>
    <date>20060629</date>
    </date-of-earliest-priority>
    <received-at-ib>
    <date>20070813</date>
    </received-at-ib>
    </wo-application-info>
    </wo-international-application-status>
    </getIASFResponse>
    Je veux savoir s'il y a un outils qui permet de récupérer des données à partir de mon fichier xml, c'est à dire quelque soit la structure de mon fichier xml.
    Merci d'avance.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 90
    Points : 80
    Points
    80
    Par défaut
    non! il faut écrire un programme spécifique
    rappel que chaque fichier XML à une structure spécifique que tu peux valider avec une DTD ou un schéma

  3. #3
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    Merci pour ta réponse même si j'ai pas trop bien compris. je te serais très reconnaissante si tu me peux me donner plus d'explication.
    Merci d'avance

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 90
    Points : 80
    Points
    80
    Par défaut
    désolé pour mon retard!

    il faut utiliser un parseur (DOM, JDOM, SAX, ou bien JAXB... )
    pour pouvoir lire le contenu de ton fichier

  5. #5
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    Re salut
    j'ai utiliser sax pr parser mon fichier et reccuperer les données, mais j'ai un autre probleme, c'est que je dois ajouter une ligne ( <?xml version="1.0" encoding="iso-8859-1"?> ) dans mon document xml puis l'enregistrer pour ensuite le traiter..je pense que sax ne permet pas cela, dc je veux savoir quel outils à utiliser car je me perds avec les autre outils.
    Merci d'avance

  6. #6
    Membre habitué
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2005
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mali

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2005
    Messages : 246
    Points : 159
    Points
    159
    Par défaut
    Alors moi, je suis entrain de faire la même chose. Moi j'utilise JDOM. Cet outil génère automatiquement la balise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <?xml version="1.0" encoding="iso-8859-1"?>
    Voici 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
     
     
    Element racine = new Element("deployement");
    		Namespace ns=Namespace.getNamespace("http://xml.apache.org/axis/wsdd/");
    		Namespace nsjava=Namespace.getNamespace("java", "http://xml.apache.org/axis/wsdd/providers/java");
    		racine.setNamespace(ns);
    		racine.addNamespaceDeclaration(nsjava);
    		Document document = new Document(racine);
    try {
     // pour une sortie sur l'écran
    			XMLOutputter sortie = new XMLOutputter();
    			sortie.output(document, System.out);
     
    		/*	Pour une sortie dans un fichier xml
    XMLOutputter outputter = new XMLOutputter();
    			FileOutputStream sortie = new FileOutputStream("sortie.xml");
    			outputter.output(document,sortie);
    			sortie.flush();
    			sortie.close();*/
    			}
    			catch (java.io.IOException e){
    			e.printStackTrace();
    			}
    Bonne courage.

  7. #7
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    Je voulais pas me casser trop la tête avec jdom surtout qu'avec sax je m'en sort très bien pour mon cas, alors j'ai ajouter ladite ligne à mon document comme étant un fichier texte et puis je l'enregistre. voici la fonction:
    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
     
      static void addAsTextFile(String fichier){
    		   File file = new File(fichier);
    		   StringBuffer fichierXml = new StringBuffer("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>");
    		   BufferedReader br;
    		try {
    			br = new BufferedReader(new FileReader(file));
    			String line = br.readLine();
    			if (!line.equals(fichierXml.toString())){
    				 fichierXml.append("\n");
    			while (line!=null){
    				  fichierXml.append(line);
    				  fichierXml.append("\n");
    				   line = br.readLine();
    			   }
     
    			   br.close();
    			   file.delete();
    			   BufferedWriter bw = new BufferedWriter(new FileWriter(file));
    			   bw.write(fichierXml.toString());
    			   bw.close();
    			 }
     
    		}catch (FileNotFoundException e) {
    			e.printStackTrace();
    		} catch (IOException e) {
     
    			e.printStackTrace();
    		}
     
     
     
     
    	   }
    Et ça marche!!
    Merci pour ceux qui m'ont répondu et bonne journée

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

Discussions similaires

  1. Problème avec le parse d'un fichier xml
    Par miled dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 27/04/2011, 19h25
  2. Problème avec saxbuilder.build d'un fichier xml
    Par jad_jad dans le forum Android
    Réponses: 0
    Dernier message: 26/11/2008, 16h47
  3. probléme avec la lecture d'un fichier xml
    Par adel.87 dans le forum Débuter
    Réponses: 13
    Dernier message: 09/10/2008, 13h54
  4. problème avec .jar : lire depuis un fichier xml
    Par ALAE4000 dans le forum Format d'échange (XML, JSON...)
    Réponses: 13
    Dernier message: 28/04/2008, 10h38
  5. Problème avec la taille d'un fichier xml
    Par ANISSS dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 26/01/2006, 17h11

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