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(); 
War es hilfreich?

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
scroll top