[XML] Recupération et Synthetisation de fichiers

Agosto 29th, 2007

Description: Recupère touts les fichiers d’alimentation MENESR d’un dossier et les synthetisent en un seul document

Link: http://www.codekeep.net/snippets/9d5071d0-2425-4123-bf12-d174c6c0c0ca.aspx

Console.WriteLine ("->Recuperation des Fichiers");
            DirectoryInfo myDir = new DirectoryInfo (path);
            FileInfo[] myFiles = myDir.GetFiles ("*.xml");

            Collection<XmlDocument> ficsXML = new Collection<XmlDocument> ();

            foreach (FileInfo file in myFiles) {
                if(file.Name.Contains ("_EtabEducNat_")){
                    ficEtab.Load (file.FullName);
                    ficsXML.Add (ficEtab);
                    if(ConfigurationManager.AppSettings["debug"]=="true") {
                        Console.WriteLine ("-> Lecture des fichiers d'etablissements.");
                    }
                }
                if (file.Name.Contains("_PersEducNat_"))
                {
                    ficPersEducNat.Load(file.FullName);
                    ficsXML.Add(ficPersEducNat);
                    if (ConfigurationManager.AppSettings["debug"] == "true")
                    {
                        Console.WriteLine("-> Lecture des fichiers des Personnels Enseignants & Non Enseignants.");
                    }
                }
                if (file.Name.Contains("_PersRelEleve_"))
                {
                    ficPersRelEleve.Load(file.FullName);
                    ficsXML.Add(ficPersRelEleve);
                    if (ConfigurationManager.AppSettings["debug"] == "true")
                    {
                        Console.WriteLine("-> Lecture des fichiers de parents d'élève.");
                    }
                }
                if (file.Name.Contains("_Eleve_"))
                {
                    ficEleve.Load(file.FullName);
                    ficsXML.Add (ficEleve);
                    if (ConfigurationManager.AppSettings["debug"] == "true")
                    {
                        Console.WriteLine("-> Lecture des fichiers d'élèves.");
                    }
                }

            }

            Console.WriteLine("");

            Console.WriteLine("->Synthetisation des Fichiers");

            XmlDocument XMLInfos = new XmlDocument ();
            int j = 0;
            foreach (XmlDocument document in ficsXML) {
                if (j == 0) {
                    XMLInfos = document;
                }
                else {
                    XmlNodeList oList = document.SelectNodes ("/ficAlimMENESR/addRequest");
                    XmlNode dest = XMLInfos.SelectSingleNode ("/ficAlimMENESR");
                    foreach (XmlNode node in oList) {

                        XmlNode maNode =XMLInfos.ImportNode (node, true);
                        dest.AppendChild (maNode);
                    }
                }
                j++;
            }

  • .NET
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Trackback URI | Comments RSS

Leave a Reply

You must be logged in to post a comment.