这是文件夹结构
D:
|_ MYPROJECT
| |_web.config
|_ SAMPLE
|_xml-file
在web.config中,我给出了绝对路径:
<add key="XMLPATH" value=" D:\SAMPLE\xml file" />
现在,我如何将此路径更改为相对路径? 我在下面试过,但它没有用。
<add key="XMLPATH" value=" ..\..SAMPLE\xml-file" />
答案 0 :(得分:2)
我有这个旧的旧代码。每当我想在settings-xml-config中放置一个相对文件路径名时,我就会调用这个辅助函数。
public class DirectoryHelpers
{
public static string FindPhysicalRootDirectory(Page p)
{
string rootDir;
//rootDir = p.Server.MapPath("/");
rootDir = p.Server.MapPath("~/");
return rootDir;
}
public static string FindVirtualRootDirectory(Page p)
{
return "~/";
}
}
一个例子:
public partial class DirectoryCheck : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string x = string.Concat("Physical Directory: ", Common.DirectoryHelpers.FindPhysicalRootDirectory(this.Page));
}
}
APPEND1:
获得FindPhysicalRootDirectory之后,您将从web.config中读取RELATIVE文件路径,并使用System.IO.Path.Combine来组合这两个值。
答案 1 :(得分:-1)
我想你应该试试这个:
<add key="XMLPATH" value="SAMPLE\xml-file" />