2009-04-29 91 views
2

下面的VB.net語法是什麼?linq to xml(c#to vb.net轉換)

var list = xd.Descendants("product") 
    .Select(element =>new 
    { 
     Title = element.Attribute("title").Value,     
     Duration = element.Element("duration").Value 
    }).ToList(); 
+0

得到一些高達: 昏暗列表1 =(從X在xd.Descendants( 「產品」)_ 。 Select(Function(element)_ New With {.Title = element.Attribute(「title」)。Value}))。ToList() 需要包含'持續時間'..如何? – Sreedhar 2009-04-29 11:25:12

回答

1

試試這個:

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() 
+0

感謝Keiths - 它整理了我 – Sreedhar 2009-04-29 11:29:45

2

如果你正在使用VB,有一些語法糖爲:

Dim list = 
    From element In xd...<product> 
    Select New With { _ 
     .Title = [email protected], _ 
     .Duration = element.<duration>.Value } 

ni ce部分是,如果你的文檔有一個xsd(你可以通過從一個或多個xml文檔中推斷出來創建一個xsd),你可以像導入命名空間那樣導入它,Visual Studio會給你一個intellisense編寫查詢時完成。

一些參考:

+0

什麼是CStr功能?不要。@ title返回一個字符串? – CoderDennis 2009-05-15 02:49:56