linq to XML (преобразование C# в VB.net)

Что эквивалентно ниже в VB.net

      var list = (from x in xd.Descendants("product").Attributes("title") select 
      new { Title= x.Value}).ToList(); 

VB.net Dim list = (From x In xd.Descendants("product").Attributes("title") _ Select New (???)).ToList()

Спасибо


person Sreedhar    schedule 29.04.2009    source источник


Ответы (1)


Вы действительно хотите список (Из)? Если ваш анонимный тип имеет только одно свойство, не будет ли проще работать с результатом, который был List(Of String)?

Вот полный синтаксис vb.net для вашего запроса, а также некоторый XML для его проверки. Обычно я выделяю вызов .ToList, но это в основном для ясности. Также обратите внимание, что с приведенным ниже кодом запрос не выполняется до вызова .ToList, поэтому может быть полезно разделить их и по этой причине.

После запуска этого кода ListA имеет тип List(Of <anonymous type>), а ListB — тип List(Of String).

Dim testXml = <test>
                  <product title="Prod1"/>
                  <product title="Prod2"/>
                  <product title="Prod3"/>
              </test>

Dim queryA = From t In testXml...<product> _
             Select New With {.Title = t.@title}

Dim listA = queryA.ToList

Dim queryB = From t In testXml...<product> _
             Select t.@title

Dim ListB = queryB.ToList
person CoderDennis    schedule 15.05.2009