如何使用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保存一个新的Xml文件

首先,你永远不能以编程方式修改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");