Вы действительно хотите список (из)? Если ваш анонимный тип имеет только одно свойство, не будет ли проще работать с результатом, который был списком (из строки)?
Вот полный синтаксис 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