Lecture d'un fichier xml facilement

Soyez le premier à donner votre avis sur cette source.

Snippet vu 30 731 fois - Téléchargée 28 fois

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

Ajouter un commentaire Commentaire
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
49
Moui, le déplacement (lecture) n'est pas si rapide que tu le dis.
Pour avoir des performances maximale faut utiliser des classe ReadForward Only tel XmlReader.

L'avantage de XmlDocument c'est q'on peut lire/écrire et qu'on peut se diriger dans les deux sens dans le fichier, ceci aux détriments des perforences...

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.