2009-08-10 70 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")