如何更改c#中XML文件的属性值?
我有一个XML文件(Web.config),我需要编辑每个标签的价值属性,取决于关键的名字......如何更改c#中XML文件的属性值?
这是XML文件的例子:
<appSettings>
<add key="A1" value="Hi" />
<add key="B1" value="Hello" />
</appSettings>
我的意思是,如何使用关键属性(A1 & B1)将值“hi”&“hello”更改?
非常感谢
试试这个代码,它工作正常:
XmlDocument doc = new XmlDocument();
doc.Load("Your.xml");
XmlNodeList elementList = doc.GetElementsByTagName("add");
for (int i = 0; i < elementList.Count; i++)
{
if(elementList[i].Attributes["key"].Value == "A1")
elementList[i].Attributes["value"].Value = "NewValue";
}
这段代码效率很低,因为它没有利用XML – 2011-05-31 03:02:43
,如果你只是想编辑应用程序配置文件 此功能可以帮助您
private static void SaveConfig(string KeyName, string value)
{
System.Configuration.ConfigurationManager.AppSettings[KeyName] = value;
System.Configuration.Configuration config = System.Configuration.ConfigurationManager.OpenExeConfiguration(System.Windows.Forms.Application.ExecutablePath);
System.Configuration.AppSettingsSection ass = config.AppSettings;
if (ass.Settings[KeyName] != null)
ass.Settings[KeyName].Value = value;
else
ass.Settings.Add(KeyName, value);
config.Save();
}
通过调用saveconfig的(“key”,“newvalue”)你可以调整配置值
中继承的任何数据信息,而不是使用System.Windows.Forms.Application.ExecutablePath youd shoud web.config url – DeveloperX 2011-05-29 12:03:21
我认为这个问题是...我有2个不同的项目。该web.config文件是在一个项目中,我需要从另一个项目调用它...我使用配置类的问题之前,我可以很容易地处理web.config ...因为每个人都驻留在不同的班级,这对我来说更难。所以,我想以另一种方式来做。我认为XmlDocument可以帮助我以更好,更简单的方式...因此,我确实使用了它并使用了XmlDocument ... 谢谢你,请多多帮忙; – Q8Y 2011-05-30 05:59:23
如果项目A和B都在同一个解决方案中,项目A是默认项目。但是项目B错误,因为它正在寻找web.config中不存在的值,因为只有项目A被复制到bin文件夹中,最简单的做法是从项目B中复制缺少的部分web.config文件导入到项目A中。虽然这更像是一种黑客攻击,但它起作用。 – 2011-05-31 03:06:47
为什么你编程试图改变你的.config文件?也许你应该采取不同的方法。 – Kon 2011-05-29 11:58:52