【问题标题】:How update xml file settings如何更新 xml 文件设置
【发布时间】:2011-04-28 12:15:42
【问题描述】:

我在 winform 应用程序中有自己的 xml 设置文件。它安装在某个位置。我需要在不丢失旧设置的情况下更新这个文件(添加一些新的属性/设置)。

旧 xml 设置示例:

<settings>
  <someSetting>Old Value</someSetting>
<settings>

新建xml设置文件示例:

 <settings>
   <someSetting>default value</someSettingNew>
   <someSettingNew>defaul value</someSettingNew>
 <settings>

我需要像这样更新后的新 xml 设置文件:

 <settings>
   <someSetting>Old Value</someSettingNew>
   <someSettingNew>defaul value</someSettingNew>
 <settings>

如何在 C# .NET Framework 3.5 中执行此操作。我知道我可以用 App.config 做到这一点,但我需要我自己的经理。我需要在两个应用程序(Windows 服务的设置应用程序和那个 Windows 服务)之间共享这个配置文件

谢谢。

更新: 我必须解释我的工作流程:

  1. Windows 服务 + 应用程序 gui 使用安装程序安装
  2. windows服务配置了app gui
  3. 我将创建更新(dll + 新的 xml 配置文件)
  4. dll 已部署,我需要将旧的 xml 配置文件与新的配置文件(新参数和默认值)合并。这是如何编程的?我只想更新 xml 文件,而不是程序代码。在 Windows 服务应用程序中,我可以检测到更新,因此我可以调用一些程序来加载新设置。这就是我需要的,这个程序怎么做?

【问题讨论】:

  • 在您的更新#4 中是矛盾的:您想要一种编程方式,而不是代码。如果您想要一个程序化解决方案,那么您将需要代码来实现它。 (注意 XML 可以是代码,例如 XSLT,但它仍然是 code)。
  • 对不起,我写的不好。我的意思是我不想像 Darin 写的那样在代码中的旧 xml 中定义新的更新。我知道合并两个xml需要通过代码来完成。

标签: c# .net xml configuration


【解决方案1】:

你可以使用XDocument:

var doc = XDocument.Load("test.xml");
doc.Root.Add(new XElement("someSettingNew", "defaul value"));
doc.Save("test.xml");

【讨论】:

    猜你喜欢
    • 2010-09-08
    • 2018-02-05
    • 2012-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-10
    • 2014-05-31
    • 1970-01-01
    相关资源
    最近更新 更多