Определение, существует ли файл XDocument - PullRequest
4 голосов
/ 09 марта 2010

Я использую 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

Есть ли способ сделать это?

Спасибо!

1 Ответ

13 голосов
/ 09 марта 2010

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
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...