linq in XML (c # vb.net conversion)
-
03-07-2019 - |
Frage
Was ist die VB.net Syntax unten?
var list = xd.Descendants("product")
.Select(element =>new
{
Title = element.Attribute("title").Value,
Duration = element.Element("duration").Value
}).ToList();
Lösung
Versuchen Sie folgendes:
Dim list =
From element In xd.Descendants("product")
Select New With { _
.Title = element.Attribute("title").Value, _
.Duration = element.Element("duration").Value }
Sie müssen keine Linq-Syntax verwenden, können Sie nur die zugrunde liegenden Erweiterungen verwenden:
Dim list = xd.Descendants("product"). _
Select(Function(element) _
New With { _
.Title = element.Attribute("title").Value, _
.Duration = element.Element("duration").Value _
}). _
ToList()
Andere Tipps
Wenn Sie VB verwenden, gibt es einige syntaktischen Zucker für diese:
Dim list =
From element In xd...<product>
Select New With { _
.Title = element.@title, _
.Duration = element.<duration>.Value }
Das schöne daran ist, dass, wenn Sie ein XSD für Ihr Dokument haben (und Sie können eine durch Visual Studio erstellen, indem sie von einem oder mehreren XML-Dokumenten Folgern), können Sie es fast importieren können, wie würden Sie ein Namespace und Visual Studio gibt Ihnen intellisense Abschluss, wenn Ihre Abfrage zu schreiben.
Einige Referenzen:
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow