string filename = System.Windows.Forms.Application.ExecutablePath + ".config"; XmlDocument doc = new XmlDocument(); doc.Load(filename); XmlElement element = doc.SelectSingleNode("//appSettings/add[@key='Lang']") as XmlElement; if (element == null) { var appElement = doc.SelectSingleNode("//appSettings"); if (appElement == null) { appElement = doc.CreateElement("appSettings"); doc.SelectSingleNode("/configuration").AppendChild(appElement); } element = doc.CreateElement("add"); var key = doc.CreateAttribute("key"); key.Value = "Lang"; var value = doc.CreateAttribute("value"); element.AppendChild(key); element.AppendChild(value); appElement.AppendChild(element); } element.GetAttributeNode("value").Value = CurrentLang.CultureInfo.Name; doc.Save(filename);
var configDir = new DirectoryInfo("./Config/Language/ServiceUri"); FileInfo[] configFiles = configDir.Exists ? configDir.GetFiles() : new FileInfo[0]; FileInfo item = null; if (languageName == "中文") { item = configFiles.FirstOrDefault(f => System.IO.Path.GetFileNameWithoutExtension(f.Name) == "serviceuri_zh"); } else { item = configFiles.FirstOrDefault(f => System.IO.Path.GetFileNameWithoutExtension(f.Name) == "serviceuri_us"); } if (item != null) { var fileName = System.IO.Path.GetFileName(Process.GetCurrentProcess().MainModule.FileName + ".config"); File.Copy(item.FullName, fileName, true); ConfigurationManager.RefreshSection("system.serviceModel"); ConfigurationManager.RefreshSection("appSettings"); }