我正在使用LINQ,我想知道创建XDocument的最佳方法是什么,然后检查以确保XDocument实际存在,就像File.Exists一样?
String fileLoc = "path/to/file";
XDocument doc = new XDocument(fileLoc);
//Now I want to check to see if this file exists
有办法做到这一点吗?
谢谢!
答案 0 :(得分:12)
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
}