English
Français

Blog of Denis VOITURON

for a better .NET world

XML Linq

Posted on 2010-04-10

Ce matin, je découvre XML Linq. Ayant déjà des connaissances dans Linq, ce nouvel espace de nom me semble très intéressant pour récupérer des paramètres de configuration. Selon moi, l’intérêt principal est de typer les données directement lors de la récupération des données.

Le plus simple est de partir d’un exemple :


<?xml version="1.0" encoding="utf-8" ?>
<configuration>
 <userSettings>
   <setting name="Server">
     <value>server.domain.local</value>
   </setting>
   <setting name="ToEmailAddress" >
     <value>email1@domain.local</value>
     <value>email2@domain.local</value>
     <value>email3@domain.local</value>
   </setting>
 </userSettings>
</configuration>

Le code C# permettant de récupérer et d’afficher toutes les adresses emails est :

XElement xmlRoot = XElement.Load("MyDocument.xml");
int i = 0;

var list = from e in xmlRoot.XPathSelectElements("./userSettings/setting[@name='ToEmailAddress']/value")
           select new
           {
              ID = i++,
              Email = e.Value
           };

list.ToList().ForEach(e => Console.WriteLine("{0} = {1}", e.ID, e.Email));

Langues

EnglishEnglish
FrenchFrançais

Suivez-moi

Articles récents