使用LINQ进行XML解析错误

时间:2015-10-29 09:01:31

标签: xml vb.net linq

我有以下vb.net代码:

Dim carsDoc As XDocument = XDocument.Parse(sCarsXML)
Dim query = From ex In carsDoc.Descendants("car")
Select New With {
    .id = ex.Element("id").Value,
    .code = ex.Element("code").Value
}

For Each ex In query
    MsgBox("ID: " & ex.id.ToString & vbCrLf & "CODE: " & ex.code.ToString)
Next

我在第9行(MsgBox代码)上收到以下错误:

  

BC30451'ex'未申报。由于它可能无法访问   保护水平。

我添加了所需的参考资料:

Imports System.Xml.Linq
Imports System.Linq

我无法弄清楚问题?

2 个答案:

答案 0 :(得分:0)

query中的项目类型不是XElement,它是由New With语句创建的匿名类型。

不要在循环中指定变量的类型:

For Each ex In query

答案 1 :(得分:0)

在互联网上搜索了几个小时后,我发现了问题/解决方案:

" 选项推断"在" 编译"项目设置部分已关闭。这是因为我已将项目从 .NET Framework 2.0 转换为 3.5