【问题标题】:Declaration expected error for System.Xml.Linq.XDocument in VB.NetVB.Net 中 System.Xml.Linq.XDocument 的声明预期错误
【发布时间】:2012-03-27 17:02:23
【问题描述】:

我正在尝试学习 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 窗体应用程序的新项目中重复相同的操作,但在最后 2 条语句中出现错误(都只说“预期声明”;另请注意:我比较了控制台应用程序的引用与默认为 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

请告诉我我缺少什么。谢谢你。

【问题讨论】:

    标签: vb.net linq-to-sql adventureworks xml-literals system.xml


    【解决方案1】:

    您的第二个代码块不在方法内。它需要在 SubFunction 内:

     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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-22
      • 1970-01-01
      相关资源
      最近更新 更多