2009-08-10 74 views
1

在VB.net中使用System.Xml.Xmldocument加载XML文档时,是否有一种方法可以指定文件的相对路径?如何使用VB.net中的相对路径加载XML文档?

path = "file.xml" 
xmld.Load(path) 

我试图加载的XML文档与VB类在同一个目录下。但是,如果不使用XML文档的完整路径,则无法访问它。

回答

2

只导入的System.Xml和试...

Dim xmlDoc As XmlDocument = New XmlDocument 
xmlDoc.Load(Server.MapPath("Divide.xml")) 

Divide.xml将明显受到你的XML文件的名称所取代。
从MSDN,使用Server.Mappath是如下..

指定的相对或虚拟路径 映射到物理目录。如果 路径以前向(/) 或反斜杠()开头,则MapPath 方法返回路径,就好像Path是 完整的虚拟路径。如果路径不以斜线不 开始,在MapPath 方法返回相对于 目录.asp文件是 处理的路径。

+0

完美!谢谢你,先生! :) – Chiramisu 2012-12-11 02:14:29

0
Application.StartupPath() 

将指向应用的执行位置。如果您的XML文件的最终构建位置将位于与此不同的目录中,那么我建议创建一个指向文件正确位置的小文件管理器类。这样,你可以简单地调用:

xmlDoc.Load(myFileMan.FilePath()) 

,让管理者解决基于调试/发行版本和它的任何其他潜在的缓解因素正确的路径。

+0

Application.StartupPath()属性是特定于WinForms,不是? – Chris 2009-08-10 18:56:29

+0

正确,就像Server.MapPath特定于WebForms一样。你的问题并没有说明你使用的是哪种类型的应用程序,所以我想在那里抛弃这个选择让你知道。 – 2009-08-10 19:10:34

+0

好电话!我忘了Server.MapPath是webforms包容性的。 – Chris 2009-08-10 19:12:18

0

如果在SSIS那就试试这个:

'Loading an Xml File from VB' 

Dim xmlDoc As XmlDocument = New XmlDocument 
xmlDoc.Load("C:\Test\sample.xml") 
相关问题