配置文件存放在该程序的上一级目录
string filePath = "http://" + HttpContext.Current.Request.Url.Host + HttpContext.Current.Request.ApplicationPath +"/Configure.xml
XmlDocument XMLFile = new XmlDocument();
XMLFile.Load(filePath);
这里可以读取.但是当我修改节点的内容以后想保存
XMLFile.Save(filePath);
这里报错:说是不能使用URI !!!!
于是我使用
XMLFile.Save("../Configure.xml");
更神奇了.目录跑到c:\windows\下面了.
然后使用绝对路径E:\web\config\Configure.xml可以保存文件.
但是现在需要的是使用相对路径保存修改后的xml文件.请教各位该如何解决??
string filePath = "http://" + HttpContext.Current.Request.Url.Host + HttpContext.Current.Request.ApplicationPath +"/Configure.xml
XmlDocument XMLFile = new XmlDocument();
XMLFile.Load(filePath);
这里可以读取.但是当我修改节点的内容以后想保存
XMLFile.Save(filePath);
这里报错:说是不能使用URI !!!!
于是我使用
XMLFile.Save("../Configure.xml");
更神奇了.目录跑到c:\windows\下面了.
然后使用绝对路径E:\web\config\Configure.xml可以保存文件.
但是现在需要的是使用相对路径保存修改后的xml文件.请教各位该如何解决??
你将filePath改为绝对路径试试。
使用Server.MapPath,可以把相对路径变为绝对路径的。如果xml文件放在当前目录下的config下的话:
string strPath = Server.MapPath(".") + @"\config\Configure.xml"
转换成物理路径
转换后出现以下错误"MapPath“http://localhost/Web/Configure.xml”的路径无效。应为虚拟路径。"
实际上我就是想使用相对路径来保存配置文件.我说情况实际上是这样.
页面文件是在e:\web\configure.xml或http://hostname/web/config/configure.xml
配置文件在E:\web\configure.xml,web路径是在http://hostname/web/configure.xml.
现在的问题是可以使用http://hostname/web/configure.xml的路径来读取文件.但是不能使用该路径来保存文件.要保存只能使用E:\web\configure.xml来保存.
我本来想用相对路径XMLFile.Save("./configure.xml")来保存.想要解决的问题就是如何能做到无论程序放哪个盘里面.都可以顺利通过的写配置文件(主要是为了安装的时候用).