La news est tombée aujourd'hui sur le blog de la team XML de Microsoft : LINQ To XSD est disponible en version Alpha 0.2 !
LINQ To XSD, est comme les autres versions de LINQ, un framework de requêtage, cette fois ci basé, vous l'aurez compris sur un schéma XSD. Cette déclinaison de LINQ, contrairement à LINQ to XML où nous manipulions des noeuds XML, va nous permettre de travailler avec des classes fortement typées, générées à partir du schéma XSD de notre document XML !
En effet, c'est via le schéma XSD, que LINQ va être capapble de générer des classes métiers, comme il est capable de le faire avec une base de données SQL Server dans sa déclinaison To Sql.
Vous pouvez télécharger cette version alpha ici
Un petit exemple :
Nous allons nous baser sur le schéma XSD d'un flux RSS (cliquez pour agrandir!) :
Une fois le schéma XSD ajouté au projet, il faut le configurer pour la compilation, afin que des classes permettant de le requêter avec LINQ soient générées. Il faudra bien sûr compiler le projet une première fois apres avoir édité les propriétés du schéma XSD comme suit :
Voici maintenant un petit exemple de code permettant de récupérer tous les titres des "items" présents dans un fichier rss.xml (conforme au schéma XSD ci-dessus), que nous chargeons au préalable à l'aide de la méthode Load() de notre classe "rss", générée dans notreprojet/obj/debug après première compilation :
Ici , on voit bien une requête LINQ classique, mais contrairement à LINQ To XML, nous ne faisons pas appels à des méthodes "Elements","Attributes"... mais directement à des objets !
Et voilà le résultat :
Les titres du flux Centre de développement web de la MSDN ! ;)