Récupérer la valeur d’un nœud d’un fichier XML en C#

Pour rechercher des nœuds dans un fichier XML, vous pouvez utiliser des expressions XPath. La méthode XmlNode.SelectNodes renvoie une liste de noeuds sélectionnés par la chaîne XPath. La méthode XmlNode.SelectSingleNode recherche le premier nœud qui correspond à la chaîne XPath.
 
 
Supposons que nous ayons ce fichier XML.

<Personnes>
	<Personne>
		<Name>Alex Babtise</Name>
		<Age>25</Age>
		<Address>Paris, France</Address>
	</Personne>
	<Personne>
		<Name>Bob Laurent</Name>
		<Age>30</Age>
		<Address>Lile, France</Address>
	</Personne>
</Personnes>

Pour obtenir tous les nœuds <Personne>, utilisez XPath avec l’expression /Personnes/Personne. La première « / » signifie que le nœud <Personnes> doit être un nœud racine. La méthode SelectNodes renvoie la collection XmlNodeList qui contiendra les nœuds <Personne>. Pour obtenir la valeur du sous-noeud <Name>, vous pouvez simplement indexer XmlNode avec le nom du noeud: xmlNode["Name"].InnerText. Voir l’exemple ci-dessous.

//Créer un document XML
XmlDocument xmlDocument = new XmlDocument();  
  
//Lire le fichier XML
xmlDocument.Load("D:\\file.xml");  
  
//Créer une liste de nœuds XML avec l'expression XPath
XmlNodeList xmlNodeList = xmlDocument.SelectNodes("/Personnes/Personne");  
  
foreach (XmlNode xmlNode in xmlNodeList)  
{  
	string Name = xmlNode["Name"].InnerText;
	string Age = xmlNode["Age"].InnerText;
	string Address = xmlNode["Address"].InnerText;
	Console.WriteLine("Name: {0} Age : {1} Address : {2}", Name, Age, Address);
}

La sortie :

Name : Alex Babtise Age : 25 Address : Paris, France
Name : Bob Laurent Age : 30 Address : Lile, France
qcm-csharp

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *