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 :

Créer Fichier XML en Java (problème de parsing)


Sujet :

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

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Créer Fichier XML en Java (problème de parsing)
    Bonjour, depuis quelques jours j'utilise jaxb pour generer des fichiers xml, l'extrait du modéle xml en entrée que j'ai utilisé est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?xml version="1.0" encoding="UTF-8"?>
    <common:File xmlns:olis="OlisIntegration" >
         <common:GenDate > 
               <fsn:RateDeb > </fsn:RateDeb > 
               <fsn:RateFin> </fsn:RateFin> 
         </common:GenDate>
    </common:File>
    Jaxb m'a généré 3 fichiers java File.java, ObjectFactory.java, et package-info.java. J'ai utilisé ces 3 fichiers pour creer les fichiers XML dont le format est sensé suivre ce format çi-dessus.
    MAlheureusement en SORTIE j'ai des fichiers XML de la forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?xml version="1.0" encoding="UTF-8"?>
    <File xmlns:olis="OlisIntegration" >
         <GenDate > 
               <RateDeb > </RateDeb > 
               <RateFin> </RateFin> 
         </GenDate>
    </File>
    Donc tous les prefix (common, fsn) ont disparu !! Comment faire svp pour les faire Reapparaitre dans mes fichiers de sortie ?
    Merci

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 561
    Points : 21 624
    Points
    21 624
    Par défaut
    Citation Envoyé par rogersdrejordan Voir le message
    Bonjour, depuis quelques jours j'utilise jaxb pour generer des fichiers xml, l'extrait du modéle xml en entrée que j'ai utilisé est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?xml version="1.0" encoding="UTF-8"?>
    <common:File xmlns:olis="OlisIntegration" >
         <common:GenDate > 
               <fsn:RateDeb > </fsn:RateDeb > 
               <fsn:RateFin> </fsn:RateFin> 
         </common:GenDate>
    </common:File>
    C'est invalide, les préfixes common: et fsn: ne sont pas déclarés.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    On a configurer un systeme d'integration pour qu'il prenne en compte ce genre de fichier xml. Et excusez moi effectivement j'aurai dû être plus concis dans l'extrait du 1e fichier(exemple) xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?xml version="1.0" encoding="UTF-8"?>
    <common:File xmlns:common="http://www.toto.com/olis/data/edm"
                       xmlns:fsn="http://www.toto.com/olis/data/edm/postes" >
         <common:GenDate > 
               <fsn:RateDeb > </fsn:RateDeb > 
               <fsn:RateFin> </fsn:RateFin> 
         </common:GenDate>
    </common:File>
    A chaque préfixe d'espace de nommage on affecte donc un URI de l'espace de nommage pour que le fichier xml soit valide.
    Et comme je l'ai spécifié lors de mon premier poste, j'ai malheureusement en sortie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?xml version="1.0" encoding="UTF-8"?>
    <File xmlns:common="http://www.toto.com/olis/data/edm"
                       xmlns:fsn="http://www.toto.com/olis/data/edm/postes" >
         <GenDate > 
               <RateDeb > </RateDeb > 
               <RateFin> </RateFin> 
         </GenDate>
    </File>

  4. #4
    Membre émérite
    Avatar de polymorphisme
    Homme Profil pro
    Publishing
    Inscrit en
    Octobre 2009
    Messages
    1 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1 460
    Points : 2 372
    Points
    2 372
    Par défaut
    Bonjour,

    avec JAXP, il me semble qu'il faut utiliser la méthode :
    setNamespaceAware(boolean) configure la factory pour instancier un parseur qui prend en charge les espaces de noms ou non selon le paramètre fourni.

    Dans tous les cas tu devras obtenir quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?xml version="1.0" encoding="UTF-8"?>
    <common:File xmlns:common="http://www.toto.com/olis/data/edm"
                       xmlns:fsn="http://www.toto.com/olis/data/edm/postes">
         <common:GenDate > 
               <fsn:RateDeb > </fsn:RateDeb > 
               <fsn:RateFin> </fsn:RateFin> 
         </common:GenDate>
    </common:File>
    Ensuite tu peux associé un schéma à ton document XML.

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bonjour, merci pour la réponse mais ça ne marche toujours pas, je suis complétement bloqué là.

  6. #6
    Membre éclairé Avatar de Heimdal
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 549
    Points : 718
    Points
    718
    Par défaut
    Il faut préciser les namespaces sur tes @RootElement, @XmlElement.

    Par exemple sur un attribut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    @XmlElement(namespace="http://www.toto.com/olis/data/edm/postes", name="RateFin")
    private Type rateFin;
    Puis si vraiment tu veux mettre common et fsn, implémenter un NamespacePrefixMapper qui va bien.

Discussions similaires

  1. [JDOM] Problème de lecture d'un fichier XML avec Java
    Par thonath dans le forum Format d'échange (XML, JSON...)
    Réponses: 7
    Dernier message: 27/05/2014, 11h52
  2. [JDOM] créer fichier xml java
    Par jpsegret dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 04/07/2007, 17h33
  3. [SAX] parser un fichier xml en Java
    Par royou dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 10/02/2005, 17h12
  4. [DOM] Ecriture d'un fichier XML en java
    Par fidififouille dans le forum Format d'échange (XML, JSON...)
    Réponses: 11
    Dernier message: 12/05/2004, 09h32
  5. [DOM] est ce qu'on peut créer un fichier xml en java ?
    Par miloud dans le forum Format d'échange (XML, JSON...)
    Réponses: 9
    Dernier message: 21/01/2004, 10h40

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