我试图在VB中学习XML文字。在基于控制台应用程序模板的“学习”项目中,以下编译和运行没有错误(并且没有任何特殊的Imports语句,也没有添加引用):
Module Module1
Sub Main()
Dim db As New AdventureWorksDataContext
Dim stores = <?xml version="1.0"?>
<stores>
<%= From vStoreWithDemographics In db.vStoreWithDemographics _
Select <store>
<ID>
<%= vStoreWithDemographics.BusinessEntityID %>
</ID>
<Name>
<%= vStoreWithDemographics.Name %>
</Name>
<AnnualSales>
<%= vStoreWithDemographics.AnnualSales %>
</AnnualSales>
<BankName>
<%= vStoreWithDemographics.BankName %>
</BankName>
<SquareFeet>
<%= vStoreWithDemographics.SquareFeet %>
</SquareFeet>
<NumberEmployees>
<%= vStoreWithDemographics.NumberEmployees %>
</NumberEmployees>
</store>
%>
</stores>
stores.Save("c:\stores.xml")
Process.Start("c:\stores.xml")
End Sub
结束模块
然而,我尝试在基于Windows窗体应用程序的新项目中重复相同的操作,并且我在最后两个语句中出错(两者都只说“声明预期”;另请注意:我比较了控制台应用程序的引用与winforms应用程序默认提供的那些,并添加了System.Data.Linq然后给出错误我添加2 Imports语句但我仍然得到错误)。
Imports System.Diagnostics
Imports System.Xml.Linq.XDocument
Public Class Form1
Dim db As New AdventureWorksDataContext
Dim stores = <?xml version="1.0"?>
<stores>
<%= From vStoreWithDemographics In db.vStoreWithDemographics _
Select <store>
<ID>
<%= vStoreWithDemographics.BusinessEntityID %>
</ID>
<Name>
<%= vStoreWithDemographics.Name %>
</Name>
<AnnualSales>
<%= vStoreWithDemographics.AnnualSales %>
</AnnualSales>
<BankName>
<%= vStoreWithDemographics.BankName %>
</BankName>
<SquareFeet>
<%= vStoreWithDemographics.SquareFeet %>
</SquareFeet>
<NumberEmployees>
<%= vStoreWithDemographics.NumberEmployees %>
</NumberEmployees>
</store>
%>
</stores>
stores.Save("c:\stores.xml") 'error here
Process.Start("c:\stores.xml") 'error here
End Class
请告诉我我错过了什么。谢谢。
答案 0 :(得分:1)
您的第二个代码块不在方法内。它必须位于Sub
或Function
:
Public Class Form1
Public Sub SomeFoo()
Dim db As New AdventureWorksDataContext
Dim stores = <?xml version="1.0"?>
<stores>
<%= From vStoreWithDemographics In db.vStoreWithDemographics _
Select <store>
<ID>
<%= vStoreWithDemographics.BusinessEntityID %>
</ID>
<Name>
<%= vStoreWithDemographics.Name %>
</Name>
<AnnualSales>
<%= vStoreWithDemographics.AnnualSales %>
</AnnualSales>
<BankName>
<%= vStoreWithDemographics.BankName %>
</BankName>
<SquareFeet>
<%= vStoreWithDemographics.SquareFeet %>
</SquareFeet>
<NumberEmployees>
<%= vStoreWithDemographics.NumberEmployees %>
</NumberEmployees>
</store>
%>
</stores>
stores.Save("c:\stores.xml")
Process.Start("c:\stores.xml")
End Sub
End Class
然后在您的应用程序的某个时刻,某些内容会调用SomeFoo
。