【问题标题】:Characters Escaping issue字符转义问题
【发布时间】:2013-06-18 16:22:47
【问题描述】:

我正在开发 WPF 应用程序,现在我的部分代码必须将内容添加到我的 app.config 文件中。

简单地说我必须添加一个键值对作为特定元素的子元素,但是当我尝试添加它时,转义符号正在改变,我不知道为什么。

我给你举个例子:

我要补充:

<add key="MyKey" value="&lt;add name=&quot;{0}&quot; /&gt;_#ss_dsa">

在 appSettings 标记之后。当我手动执行它时,它可以工作,但是当我尝试通过代码隐藏添加它时,我正在这样做:

 var appPath=Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
 var appConfigFile = Path.Combine( appPath, "MyApp.exe" ); 
 var config= ConfigurationManager.OpenExeConfiguration(appConfigFile);

然后:

config.AppSettings.Settings.Add("Key","Value");

应该加上&lt;add key="Key" value="Value"&gt;

到 app.config 确实如此,但是当我通过这个时:

"&lt;add name=&quot;{0}&quot; /&gt;_#ss_dsa"

对于它转换成的值:

"&amp;lt;add name=&amp;quot;{0}&amp;quot; /&amp;gt;_#ss_dsa"

在 app.config 文件中。我真的不知道为什么会发生这种情况以及如何解决它。 如果有人可以提供建议,那就太好了。

【问题讨论】:

    标签: c# wpf string escaping app-config


    【解决方案1】:

    预期的 未转义。所以 添加它 未转义:尝试添加:

    blah.Add("MyKey", @"<add name=""{0}"" />_#ss_dsa");
    

    中间的"" 是 C# 转义 - 这里的实际字符串是

    <add name="{0}" />_#ss_dsa
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      • 2011-06-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多