Pergunta

O que é o VB.net sintaxe abaixo para?

   var list = xd.Descendants("product")
   .Select(element =>new 
   { 
      Title = element.Attribute("title").Value,                   
      Duration = element.Element("duration").Value 
   }).ToList(); 
Foi útil?

Solução

Tente isto:

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

Você não precisa usar a sintaxe Linq, você pode apenas usar as extensões subjacentes:

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

Outras dicas

Se você estiver usando VB, há um pouco de açúcar sintático para isso:

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

A parte boa é que, se você tem um XSD para o documento (e você pode criar uma através visual studio inferindo-lo de um ou vários documentos XML), você pode importá-lo quase como se fosse um namespace e Visual Studio lhe dará intellisense conclusão ao escrever sua consulta.

Algumas referências:

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top