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 :

Fusionner des flux XML


Sujet :

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

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 78
    Points : 45
    Points
    45
    Par défaut Fusionner des flux XML
    Bonjour,

    j'aimerais fusionner des flux XML. Mais tous les exemples sur le net abordent la fusion de fichiers XML. Or, dans mon cas, je récupère des flux dans plusieurs variables de type StringWriter et non les noms de plusieurs fichiers à fusionner.

    J'ai commencé par caster mes variables StringWriter en String...mais je sèche complètement...

    Qui peut m'aider ?

    un peu de mon code pour être plus clair :

    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
     
    // BeanIO fixedlenght unmarshallers
    Unmarshaller unmarshallerCheck = bioFactory.createUnmarshaller("ct6InFLTransform");
    Object record = unmarshallerCheck.unmarshal(line);
     
    // Castor xml marshaller
    String encoding = "UTF-8";
    StringWriter sw = new StringWriter();
    org.exolab.castor.xml.Marshaller marshaller = new org.exolab.castor.xml.Marshaller(sw);
    marshaller.setEncoding(encoding);
    marshaller.setMapping(this.castorMapping);
    marshaller.marshal(record);
     
    => J'utilise le framework Castor pour "convertir" un bean en un flux XML que je place dans un StringWriter....éventuellement caster en String
     
    String result = sw.toString();      
     
    => Par la suite, je vais récupérer plusieurs variables du même type que result et donc je voudrais les fusionner.


    Merci d'avance

  2. #2
    Membre chevronné

    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Novembre 2006
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 252
    Points : 1 954
    Points
    1 954
    Par défaut
    Quel résultat souhaites-tu à l'issue de la fusion ? Chaque noeud racine de tes résultats intérmédiaires deviennent fils d'un nouveau noeud racine ?

    Si tu pouvais donner un exemple ce serait plus simple.

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 78
    Points : 45
    Points
    45
    Par défaut
    alors, en fait :

    le premier flux ressemble à ça :

    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"?>
    <Envelope xmlns="CT6CARD">
    	<Header>
    		<InfoHeader1>001502</InfoHeader1>
    		<InfoHeader2>12259</InfoHeader2>
    		<InfoHeader3>P47</InfoHeader3>
    	</Header>
    </Envelope>
    Le deuxième :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?xml version="1.0" encoding="UTF-8"?>
    <Envelope xmlns="CT6CARD">
    	<Header>
    		<InfoHeader4>00000002</InfoHeader4>
    	</Header>
    	<Body>
    		<InfoBody1>08001583</InfoBody1>
    		<InfoBody2>20120912</InfoBody2>
    		<InfoBody3>20120912</InfoBody3>
    	</Body>
    </Envelope>
    Le troisième :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?xml version="1.0" encoding="UTF-8"?>
    <Envelope xmlns="CT6CARD">
    	<Body>
    		<InfoBody4>1244</InfoBody4>
    		<InfoBody5>A</InfoBody5>
    		<InfoBody6>100</InfoBody6>
    	</Body>
    </Envelope>


    En fait les flux générés constituent des fichiers Xml incomplets
    Et le but du jeu (façon de parler) est de générer 1 fichier complet à partir des 3.

    Voilà

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 78
    Points : 45
    Points
    45
    Par défaut
    Fichier attendu :

    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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <Envelope xmlns="CT6CARD">
    	<Header>
    		<InfoHeader1>001502</InfoHeader1>
    		<InfoHeader2>12259</InfoHeader2>
    		<InfoHeader3>P47</InfoHeader3>
                    <InfoHeader4>00000002</InfoHeader4>
    	</Header>
            <Body>
    		<InfoBody1>08001583</InfoBody1>
    		<InfoBody2>20120912</InfoBody2>
    		<InfoBody3>20120912</InfoBody3>
                    <InfoBody4>1244</InfoBody4>
    		<InfoBody5>A</InfoBody5>
    		<InfoBody6>100</InfoBody6>
    	</Body>
    </Envelope>

Discussions similaires

  1. exploiter le contenu des fluxs xml dans un site
    Par istreen dans le forum Général Conception Web
    Réponses: 0
    Dernier message: 07/08/2008, 14h49
  2. Réponses: 3
    Dernier message: 02/06/2008, 16h13
  3. [METHODE] fusionner des document XML
    Par ksarah dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 17/04/2008, 09h22
  4. Fusionner 2 flux XML
    Par arkienou dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 27/06/2006, 12h50
  5. [DOM] Comment créer des flux XML en java ?
    Par nean_j dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 27/04/2004, 12h00

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