2012-11-22 64 views
0

我有下面的方法來讀取XML文件。該文件在C:\中,我在其他位置嘗試過,發生同樣的情況。也嘗試不使用靜態。不能與數據集的ReadXml方法

如果我不使用File.Exists(),FileNotFoundException正在拋出。

+0

如果'訪問FileNotFound'被拋出,那麼該文件不存在於你認爲它的地方。這是ASP.Net還是Windows應用程序? – codingbiz

+0

這是一個ASP.net webform,後面帶有C#代碼 – esteban

+0

您是否試圖在文件上創建FileStream並將流的引用傳遞給readxml?你也可以嘗試將文件的絕對路徑傳遞給dataSet.ReadXml() - 調用? – Carsten

回答

1

隨着你聲明的文件

var dir = @"ProductsCookieData.xml"; 

你的文件必須在路上與您的代碼/當前網頁相同的目錄,而不是C :.您可以到C賦予權限:\並更改您的代碼

var dir = @"C:\ProductsCookieData.xml"; 

有時,文件可以複製到你的應用程序文件夾,根目錄或特殊文件夾,並使用Server.Mappath

var dir = Server.MapPath("~/ProductsCookieData.xml"); 
+0

不,server.mappath沒有找到它。不知道該怎麼做。兩小時出現此錯誤:( – esteban

+0

'Server.MapPath'不會在您的Web應用程序文件夾層次結構中找到它,它不會出現在您的Web應用程序目錄之外 – codingbiz

+0

我將它放在任何地方,放在應用程序文件夾,外部等等。 – esteban

0

您需要指定文件的完整路徑。目前,您只提供了一個相對路徑,它將相對於當前工作目錄進行解析。

如果你的文件在C盤根:\,然後更改您的代碼:

string dir = @"C:\ProductsCookieData.xml"; 
+0

是的,我也試過了,仍然沒有看到文件。 – esteban