VB对象引用未设置为对象的实例

时间:2014-01-14 21:20:22

标签: vb.net visual-studio-2008 file-io

我只是想加载一个xml文件,我无法弄清楚如何。这是我的代码:

Dim root As Xml.XmlDocument = Nothing
root.Load(My.Application.Info.DirectoryPath & "C:\XMLFile1.xml")

它编译时没有错误但是当我单步执行调试器并且它到达第二行时,它会给我“对象引用未设置为对象的实例”。该文件存在于应有的位置。我已经尝试了几乎我在网上可以找到的上述行的每个变体(即只有第二行括号内的路径等),但仍然会遇到同样的问题。

1 个答案:

答案 0 :(得分:2)

仔细看看你在做什么:

Dim root As Xml.XmlDocument = Nothing

这一行表示创建一个名为root的变量,但将其设置为Nothing。也就是说,不要为它指定任何实际对象的实例。然后:

root.Load()

您正在尝试使用该对象,您只是显式定义为不是对象。

错误与您的XML文件无关,它永远不会那么远。在调用该对象的成员之前,您需要一个对象的实际实例。我想你要找的是:

Dim root As New XmlDocument
root.Load(My.Application.Info.DirectoryPath & "C:\XMLFile1.xml")

这会创建一个XmlDocument对象的实例,然后会调用该对象上的Load成员。 (虽然我认为路径是错误的,但这完全是另一个问题。我无法想象任何路径信息之前的驱动器号......)