linq para XML (c # a conversão vb.net)
-
03-07-2019 - |
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();
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