Linq to Xml
Click here to load reader
-
Upload
novencia-groupe -
Category
Documents
-
view
1.237 -
download
1
Transcript of Linq to Xml
Linq to Xml Auteur: Hoang NGUYEN
Introduction
Linq to xml (aussi nommé XLinq) est une technologie qui révolutionne la façon de travailler avec les documents Xml depuis le framework 3.5.
Tout devient plus simple et plus fluide grâce à l’utilisation des classes génériques. L’exemple suivant permet de comparer l’ancienne méthode (Xml Dom) avec la nouvelle méthode (Linq to Xml).
Exemple
Nous avons ici un fichier xml tout simple qui présente des catégories de bouquins:
17/01/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - [email protected] 2
Voici ce que nous devions faire auparavant pour créer ce document Xml :
Nous nous sommes bien d’accord que cette méthode est verbeuse et ne donne pas une vision claire de la structure Xml.
Avec Linq to Xml, voici ce que ça donne :
17/01/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - [email protected] 3
Dans cet exemple de code, nous avons utilisé les 3 classes principales XDocument, XElement, XAttribute qui se trouvent dans System.Xml.Linq.dll
Pour sauvegarder ce document, il suffit d’appeler la méthode Save, comme suit :
doc.Save("test.xml");
Quelques exemples avec Linq :
Pour chercher les bouquins dans la catégorie ayant « id » égal à 1 :
var res = from c in doc.Descendants("Category")
where (int) c.Attribute("id") ==1
select c;
Pour créer ce document xml grâce à une source qui contient la collection de bouquins par exemple : source.Books.
Voici comment on peut faire:
N’est-ce pas génial ça ?
17/01/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - [email protected] 4
Conclusion
Linq to Xml propose une approche plus intuitive dans le développement avec Xml car il permet d’avoir une meilleure lecture du code.
La famille de la technologie Linq fournit bien évidement d’autres outils astucieux, comme Linq to Entity / Linq to Object / Linq to Sql qui est plutôt expliqué dans le lien msdn suivant :
http://msdn.microsoft.com/fr-fr/library/bb397926.aspx
17/01/2012 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - [email protected] 5