linq в xml (преобразование C# в vb.net)
-
03-07-2019 - |
Вопрос
Для чего нужен синтаксис VB.net ниже?
var list = xd.Descendants("product")
.Select(element =>new
{
Title = element.Attribute("title").Value,
Duration = element.Element("duration").Value
}).ToList();
Решение
Попробуй это:
Dim list =
From element In xd.Descendants("product")
Select New With { _
.Title = element.Attribute("title").Value, _
.Duration = element.Element("duration").Value }
Вам не нужно использовать синтаксис Linq, вы можете просто использовать базовые расширения:
Dim list = xd.Descendants("product"). _
Select(Function(element) _
New With { _
.Title = element.Attribute("title").Value, _
.Duration = element.Element("duration").Value _
}). _
ToList()
Другие советы
Если вы используете VB, для этого есть синтаксический сахар:
Dim list =
From element In xd...<product>
Select New With { _
.Title = element.@title, _
.Duration = element.<duration>.Value }
Приятно то, что если у вас есть xsd для вашего документа (и вы можете создать его с помощью Visual Studio, выведя его из одного или нескольких документов XML), вы можете импортировать его почти так же, как пространство имен, и Visual Studio предоставит вам завершение intellisense при написании запроса.
Некоторые ссылки:
Не связан с StackOverflow