Lecture d'un fichier xml facilement

Contenu du snippet

Je rédige cet article en complément de l'article de piep14: http://www.csharpfr.com/code.aspx?ID=31473

Etape1 : déclarer un fichier XML
Etape2 : charger ce fichier
Etape3 : déplacement rapide dans ce fichier XML

Source / Exemple :


//Create the XmlDocument
			XmlDocument doc = new XmlDocument();
			doc.Load("C:\\.......\\nomfichier.xml") ;
			
// Read the XmlDocument (Directory Node)
			XmlNodeList elemList = doc.GetElementsByTagName("Directory") ;
			for (int i=0 ; i<elemList.Count ; i++)
			{   
				XmlNodeList  eltList = elemList[i].ChildNodes ;
				for (int j=0 ; j<eltList.Count ; j++)
				{
					directory = eltList[j].InnerXml ;
				}
			}
			

// Read the XmlDocument (Plate Node)
			XmlNodeList elemList3 = doc.GetElementsByTagName("Plate") ;
			for (int i=0 ; i<elemList3.Count ; i++)
			{   
				XmlNodeList  eltList3 = elemList3[i].ChildNodes ;
				for (int j=0 ; j<eltList3.Count ; j++)
				{
					valeur[j] = int.Parse(eltList3[j].InnerXml) ;
					listBox1.Items.Add("Zone  " + (j+1) + ":    " + valeur[j]) ;			
   				}
			}

Conclusion :


Directory Node:
XmlNodeList elemList = doc.GetElementsByTagName("Directory") ; //permet d'aller directement au noeud nommé "Directory"
elemList.Count //permet de prendre l'intégralité des valeurs (ici je n'ai qu'une string "directory")

Plate Node:
eltList3.Count //permet de prendre l'intégralité des valeurs (ici j'ai environ une dizaine de valeurs)
donc à chaque passage dans la boucle, le (eltList3[j].InnerXml) récupère la valeur et la met dans le tableau (valeur[j]).
Ensuite j'ai affiché ces valeurs dans une listeBox: (listBox1.Items.Add("Zone " + (j+1) + ": " + valeur[j]) ;)

A voir également