如何将诸如D:test.xml
之类的驱动器相对路径转换为诸如XDocument.Load()
之类的函数将接受的绝对路径。例如,D驱动器可以将D:\data
作为其当前工作目录,因此D:test.xml
表示D:\data\test.xml
。我已经尝试过D:.\test.xml
之类的混合物。
这里是我因为D:test.xml
而得到的错误:
无效的URI:必须以Dos路径为根,例如'c:\'
如何将驱动器相对路径(例如D:test.xml)转换为功能(例如XDocument.Load())将接受的绝对路径。 D驱动器可以将D:\ data作为其当前工作目录,...
您可以使用GetFullPath
。例如:
您应该只使用“ test.xml”作为相对路径,如果当前文件夹为“ D:\ data”,则完整路径将解析为“ D:\ Data \ test.xml”。 MSDN示例中的Load()方法也对此进行了说明:// should return "D:\data\test.xml" if the current working dir is "D:\data"
string absolutePath = Path.GetFullPath("D:test.xml");
Path.GetFullPath可以工作。参见here