[XML] Recupération et Synthetisation de fichiers
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++;
}






