字符转义问题
本文关键字:问题 转义 字符 | 更新日期: 2023-09-27 18:18:46
我正在WPF应用程序上工作,现在我有一部分代码必须向我的app.config文件添加内容。
简单地说,我必须添加一个键值对作为一个特定元素的子元素,但当我试图添加它的转义符号正在改变,我不知道为什么。
我给你举个例子:
我想加上:
<add key="MyKey" value="<add name="{0}" />_#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");
应该加上<add key="Key" value="Value">
到app.config并且它确实,但是当我传递这个:
"<add name="{0}" />_#ss_dsa"
表示它转换成的值:
"&lt;add name=&quot;{0}&quot; /&gt;_#ss_dsa"
在app.config文件中。我真的不知道为什么会发生这种情况,我该如何解决它。如果有人能给点建议就太好了。
期望的值未转义。所以添加 unescaped:尝试添加:
blah.Add("MyKey", @"<add name=""{0}"" />_#ss_dsa");
其中中间的""
是c#转义-这里的实际字符串是
<add name="{0}" />_#ss_dsa