使用C#替换另一台计算机(共享文件夹/网络)上存在的文件(web.config)中的值
本文关键字:网络 存在 web config 文件 共享文件 替换 一台 使用 共享 计算机 | 更新日期: 2023-09-27 18:24:29
我可以完全访问另一台机器上的文件,当我在运行命令行中键入"''username txd''abcFolder''Configuration''MediaManagerConfig''Web.config"时,我可以访问上述文件,但当我尝试更新此特定文件中任何属性的值时,它不允许我更新。
代码:一段未实现的代码C#
当我将值传递给xmlDoc.Load(@filename)时;
filename显示为我想要的传递值。但是,只要我继续调试代码,我就会看到我的文件路径被附加了"d:/"值。
filename变为,filename="D:''username txd''abcFolder''Configuration''MediaManagerConfig''Web.config"
为什么附加D://。是指我的本地D驱动器吗????
注释行是我尝试的一些选项
public void updateFileData()
{
private string filename="''vinayb2txd''atish''Configuration''MediaManagerConfig''Web.config";
private string newElemetValue="qwerty";
//xmlDoc.Load("''vinayb2-txd''atish''Configuration''MediaManagerConfig''Web.config");
//var path = System.Web.HttpContext.Current.Server.MapPath(@filename);
//string serverFilepath= Server.MapPath(@filename);
// FileStream xmlFile = new FileStream(filename, FileMode.Open,FileAccess.Read, FileShare.Read);
// xmlDoc.Load(xmlFile);
// string abc=new Uri(filename).LocalPath;
xmlDoc.Load(@filename);
XmlNodeList elementList = xmlDoc.GetElementsByTagName("add");
for (int i = 0; i < elementList.Count; i++)
{
if (elementList[i].Attributes["key"].Value == elementKey)
{
elementList[i].Attributes["value"].Value = newElementValue;
break;
}
xmlDoc.Save(filename);
}
}
文件名字符串的开头需要四个斜杠,才能将其解释为UNC路径。否则,双斜杠将转义为单斜杠,该斜杠被解释为当前工作目录的根驱动器。
使用:
private string filename="''''vinayb2txd''atish''Configuration''MediaManagerConfig''Web.config";
或
private string filename=@"''vinayb2txd'atish'Configuration'MediaManagerConfig'Web.config";
当您将文件名定义为"''vinayb2txd''atish''Configuration''MediaManagerConfig''Web.config"时。它将其作为相对路径