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 :

Fusion de plusieurs fichiers XML en un seul


Sujet :

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

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Divers
    Inscrit en
    Février 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Divers

    Informations forums :
    Inscription : Février 2019
    Messages : 2
    Par défaut Fusion de plusieurs fichiers XML en un seul
    Bonjour

    Je suis débutant en java (j'utilise NetBeans) et je souhaiterais lister tous les fichiers XML d'un dossier défini en amont grâce à un JFileChooser car je souhaiterais récupérer tout le contenu du nœud <PmtInf> de chaque fichier xml pour le copier à la suite du 1er fichier trouvé.

    J'ai commencé avec deux fichiers XML défini en statique (voir pièce jointe exemple1.xml et exemple2.xml) mais lorsque je souhaite récupérer tout le contenu du nœud <PmtInf> de mon deuxième fichier pour l'afficher à la suite du nœud <PmtInf> de mon 1er fichier cela ferme mon nœud </pain.001.001.02> avant de le mettre (pièce jointe final.xml) et je ne comprends pas pourquoi.

    Voici la partie code en java :

    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
    51
    52
    53
    54
    55
    56
    57
     
     
    package javaapplication3;
     
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.StringWriter;
    import java.io.Writer;
     
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.transform.OutputKeys;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.dom.DOMSource;
    import javax.xml.transform.stream.StreamResult;
     
    import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    import org.w3c.dom.Node;
    import org.w3c.dom.NodeList;
     
    public class JavaApplication3 {
     
        public static void main(String[] args) throws Exception {
     
            DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
            dbf.setValidating(false);
            DocumentBuilder db = dbf.newDocumentBuilder();
     
            Document doc1 = db.parse(new FileInputStream(new File("exemple1.xml")));
            Document doc2 = db.parse(new FileInputStream(new File("exemple2.xml")));
     
            System.out.println("Avant Copie...");
            prettyPrint(doc2);
     
            NodeList list = doc1.getElementsByTagName("PmtInf");
            Element element = (Element) list.item(0);
     
            Node copiedNode = doc2.importNode(element,true);
            doc2.getDocumentElement().appendChild(copiedNode);
     
            System.out.println("Après Copie...");
            prettyPrint(doc2);
     
        }
        public static final void prettyPrint(Document xml) throws Exception {
            Transformer tf = TransformerFactory.newInstance().newTransformer();
            tf.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
            tf.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
            tf.setOutputProperty(OutputKeys.INDENT, "yes");
            Writer out = new StringWriter();
            tf.transform(new DOMSource(xml), new StreamResult(out));
            System.out.println(out.toString());
        }
     
    }
    J'aurais peut être également besoin de votre aide plus tard pour gérer la partie pour récupérer tous les fichiers XML depuis un dossier défini et pour les faire afficher dans un composant Jlist ou autre avec sélection grâce à des cases à cocher mais pour le moment je souhaite régler ce premier souci.

    Merci par avance à tout ceux qui prendront du temps à regarder et qui pourront m'apporter une solution et m'aider à avancer.
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Fusion de plusieurs fichiers XML de types tAdvancedFileOutputXML
    Par karinedebut dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 08/11/2017, 17h56
  2. Fusion de plusieurs fichiers xml avec xslt
    Par majduuus dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 29/07/2013, 15h30
  3. copier plusieurs fichiers XML en un seul
    Par l_dl_d dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 28/04/2010, 11h00
  4. Fusion de plusieurs fichiers XML
    Par Ya7yaKech dans le forum Windows Forms
    Réponses: 0
    Dernier message: 26/01/2009, 18h50
  5. Transformer plusieurs fichiers xml en un seul
    Par Ya7yaKech dans le forum Windows Forms
    Réponses: 2
    Dernier message: 23/01/2009, 13h52

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