Question

Quelle est la syntaxe VB.net ci-dessous pour?

   var list = xd.Descendants("product")
   .Select(element =>new 
   { 
      Title = element.Attribute("title").Value,                   
      Duration = element.Element("duration").Value 
   }).ToList(); 
Était-ce utile?

La solution

Essayez ceci:

Dim list = 
   From element In xd.Descendants("product")
   Select New With { _ 
       .Title = element.Attribute("title").Value, _
       .Duration = element.Element("duration").Value }

Vous n'avez pas besoin d'utiliser la syntaxe Linq, vous pouvez simplement utiliser les extensions sous-jacentes:

Dim list = xd.Descendants("product"). _
    Select(Function(element) _ 
        New With { _ 
           .Title = element.Attribute("title").Value, _
           .Duration = element.Element("duration").Value _
        }). _
    ToList()

Autres conseils

Si vous utilisez VB, il existe un sucre syntaxique pour cela:

Dim list = 
   From element In xd...<product>
   Select New With { _ 
       .Title = element.@title, _
       .Duration = element.<duration>.Value }

La partie intéressante est que, si vous avez un xsd pour votre document (et que vous pouvez en créer un via Visual Studio en l'inférant à partir d'un ou plusieurs documents xml), vous pouvez l'importer presque comme vous le feriez avec un espace de noms et Visual Studio. vous donnera une complétude intellisense lors de la rédaction de votre requête.

Quelques références:

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top