1

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

\serverName\files\System\Appldata\Application\3_5\TEST\Program\Version.xml

但在我的电脑上,路径如下所示:

Y:\Application\3_5\TEST\Program

这是代码:

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

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

有没有办法解决这个问题?

4

2 回答 2

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"));
于 2013-10-04T07:55:31.027 回答
0

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

试试这个代码:

var doc = new XmlDocument();
var finalPath = Path.Combine(x.LocationName, x.FolderName, "Version.xml");
//Loading the file
doc.Load(finalPath);
于 2013-10-04T08:01:08.860 回答