private void ReadXMLFile(string Nom_Fichier)
{
FileStream fs = new FileStream(Nom_Fichier, FileMode.Open, FileAccess.Read);
// Lecture du Fichier XML
XmlTextReader read_xml = new XmlTextReader(fs);
string[] Num_Infos = new string[Nombre_d_Infos_que_vous_voulez_recuperer];
try
{
while (read_xml.Read())
{
// Attrape le premier des elements
if (read_xml.NodeType == XmlNodeType.Element && read_xml.Name == "Votre Element")
{
// scanne la ligne de l'element et récupère ses attributs
for(int i = 0; i < read_xml.AttributCount; i++)
{
Num_Infos[i] = read_xml.GetAttribut(i);
}
// cherche tous les noeuds enfants au premier element
while (read_xml.NodeType != XmlNodeType.EndElement)
{
read_xml.Read();
// Regarde si le noeud correspond à ce que vous voulez
if (read_xml.Name == "Votre Nom de noeud")
{
while (read_xml.NodeType != XmlNodeType.EndElement)
{
read_xml.Read();
if (read_xml.NodeType == XmlNodeType.Text) // Ici on prend du texte
{
Num_Infos[i+1] = read_xml.Value; // reprend la valeur du texte
}
}
}
}
// Suivant ce que vous voulez faire, c'est ici que vous envoyez les données lues (dans un contrôle (par exemple) ou autres chose)
}
}
// Booléen testant si le fichier lu est vide (lors de l'ouverture du fichier)
Fichier_Vide = false;
}
catch
{
MessageBox.Show("Fichier Vide");
read_xml.Close();
Fichier_Vide = true;
}
}
Remarque :
Ce code a été conçu pour mon programme à l'adresse suivante :
http://www.csharpfr.com/codes/GENERATEUR-SOUS-TITRE-XML_38706.aspx
Donc là ce code fonctionne mais tout est fait pour que vous puissiez rajouter des sous-noeuds aux noeuds , etc...
sans que vous ayez à changer grand chose dans le code