如何使用app.config保存一个新的Xml文件
本文关键字:一个 文件 Xml app 何使用 config 保存 | 更新日期: 2023-09-27 18:19:20
我必须在app.config
的帮助下保存一个文件<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<appsetting>
<add key ="filename" value ="abc.xml"></add>
<add key="filepath" value ="C:''Users''saket.parasar.jha"></add>
</appsetting>
</configuration>
保存xml文件到指定路径的代码-:
XmlDocument doc = new XmlDocument();
//XmlNode docNode = doc.CreateXmlDeclaration("1.0", "UTF-8", null);
//doc.AppendChild(docNode);
XmlNode productsNode = doc.CreateElement("products");
doc.AppendChild(productsNode);
{
XmlNode productNode = doc.CreateElement("product");
XmlAttribute productAttribute = doc.CreateAttribute("id");
productAttribute.Value = "1";
productNode.Attributes.Append(productAttribute);
productsNode.AppendChild(productNode);
XmlNode nameNode = doc.CreateElement("Name");
nameNode.AppendChild(doc.CreateTextNode("Java"));
productNode.AppendChild(nameNode);
XmlNode priceNode = doc.CreateElement("Price");
priceNode.AppendChild(doc.CreateTextNode("Free"));
productNode.AppendChild(priceNode);
AddUpdateAppSettings("filename", "abc.xml");
}
}
static void AddUpdateAppSettings(string key, string value)
{
try
{
var configFile = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
var settings = configFile.AppSettings.Settings;
if (settings[key] == null)
{
settings.Add(key, value);
}
else
{
settings[key].Value = value;
}
configFile.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection(configFile.AppSettings.SectionInformation.Name);
}
catch (ConfigurationErrorsException)
{
Console.WriteLine("Error writing app settings");
}
}
我必须把那个xml文件写到C:'Users'saket. parar。"使用c#…请帮助我,我是这个话题的新手。
首先,你永远不能以编程方式修改app.config文件。当你的应用程序运行时,里面的设置永远不会被改变。这些设置就像"预发布"。如果您需要任何可由用户修改的设置,请使用 settings File (Add> New Item> General> settings File),扩展名为*.settings的那个。此外,我没有看到您试图从配置文件中获取您的设置,您只是将它们保存在那里(但您不能这样做,原因如上所述)。当你得到正确的路径后,你可以把你的文件保存在那里。
注:: app .config不允许被修改,因为它位于与app相同的目录中(修改后的名称如MyApplication.exe.config);当你的应用程序被安装在目标系统上时,目标目录很可能是"Program Files"。正如您所理解的,任何修改配置的尝试都需要提升权限(如管理员权限)。
为什么不保存XmlDocument呢?就像
doc.Save("C:''Users''saket.parasar.jha''abc.xml");