无法从路径加载文件

时间:2013-10-04 07:51:19

标签: c#

我在从路径加载xml时遇到问题,因为在我的电脑(和其他人)上映射了部分路径: 这是我从数据库中获得的路径:

  

\服务器\文件\ SYSTEM \ Appldata \应用程序\ 3_5 \ TEST \程序\ Version.xml

但是在我的电脑上,路径看起来像这样:

  

Y:\应用程序\ 3_5 \ TEST \程序

这是代码:

    var path = new DirectoryInfo(x.LocationName+@"\"+x.FolderName);
    var doc = new XmlDocument();

    //Loading the file
      doc.Load(path.FullName + @"\Version.xml");

有没有解决这个问题的方法?

2 个答案:

答案 0 :(得分:3)

好吧,不要试图自己连接路径和文件名 使用Path.Combine

 doc.Load(Path.Combine(path.FullName, "Version.xml"));

这需要源文件开头的using System.IO;。 当然,只有拥有对远程文件夹的权限,才能使用映射版本或完整共享名。此外,如果您的数据库保留完整的共享名,请确保它与两个初始反斜杠一起存储

编辑再次看到你的编辑,不要手动建立你的路径(并检查信息是否有效)

var path = new DirectoryInfo(Path.Combine(x.LocationName, x.FolderName));
if(!path.Exists)
{
    MessageBox.Show("Invalid path retrieved:" + path.FullName);
    return;
}
var doc = new XmlDocument();
doc.Load(Path.Combine(path.FullName,"Version.xml"));

答案 1 :(得分:0)

您正在使用网络路径访问该文件。请确保您能够从网络服务器上的文件资源管理器访问该文件。

试试这段代码:

var doc = new XmlDocument();
var finalPath = Path.Combine(x.LocationName, x.FolderName, "Version.xml");
//Loading the file
doc.Load(finalPath);
相关问题