2010-03-09 92 views
4

我正在使用LINQ,我想知道創建XDocument的最佳方法是什麼,然後檢查以確保XDocument實際上存在,就像File.Exists一樣?確定是否存在XDocument文件

String fileLoc = "path/to/file"; 
XDocument doc = new XDocument(fileLoc); 
//Now I want to check to see if this file exists 

有沒有辦法做到這一點?

謝謝!

+0

爲什麼不先檢查File.Exists? – Jimmy 2010-03-09 00:15:25

+0

嗯,我想到了這一點,但沒有辦法從文件創建一個XDocument據我所知...如果有請讓我知道:) – 2010-03-09 00:18:06

回答

11

XML文件仍然是一個文件;只需使用File.Exists

請注意,儘管如此:在加載文檔之前,請勿嘗試檢查File.Exists。當您嘗試打開文件時,無法保證該文件仍然存在。編寫此代碼:

if (File.Exists(fileName)) 
{ 
    XDocument doc = XDocument.Load(fileName); 
    // etc. 
} 

...是一個競爭條件,總是錯的。相反,只需嘗試加載文檔並捕獲異常。

try 
{ 
    XDocument doc = XDocument.Load(fileName); 
    // Process the file 
} 
catch (FileNotFoundException) 
{ 
    // File does not exist - handle the error 
}