我有这样一个文件,A.XML,结构和web.config一样。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
        <!-- ISI Environment  -->
<add key="key1" value="TEST" />
    ......
    </appSettings>
</configuration>
我用此方法,可以更新key对应的内容。
ExeConfigurationFileMap configFile = new ExeConfigurationFileMap();
            configFile.ExeConfigFilename = "C:\A.XML";
            Configuration config =
                ConfigurationManager.OpenMappedExeConfiguration(configFile,
                ConfigurationUserLevel.None);
            config.AppSettings.Settings["key1"].Value = "BBB";
            config.Save(ConfigurationSaveMode.Modified);
更新后的内容为
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
<add key="com.fujitsu.esi.host" value="zhangzl2008" />
    ......
    </appSettings>
</configuration>
但这个方法因为是全部重写里面的内容,注释没了。请教,只更新对应的key的内容,而不修改其他内容的方法。

解决方案 »

  1.   

    那你可以使用xmldocument的load方法载入xml文件,然后用它的selectsinglenode方法定位节点,接着你可以利用vs2005的智能提示修改value值
      

  2.   

    谢谢楼上的回复,不知道能不能使用Configuration相关的方法直接操作,那样可能是最方便的,但目前我还不知道:)
      

  3.   

    那个东东其实还不是对xml的操作进行封装,至于为什么改变了注释没实际操作过,不知道是不是有属性可以设置的