使用转义字符解析 app.config 中的字符串

Parse string from app.config with characters that are escaped

这是一个非常愚蠢的问题,但我现在对此感到非常沮丧。

我现在有一个 app.config 存储用户凭据,用于 SQL 服务器。

所以用户名是reader,密码是"abcdefg"。

当我现在尝试执行插入时,我得到了这个异常:

初始化字符串的格式不符合从索引 138 开始的规范。

当我将凭据更改为没有任何已转义的特殊字符的用户时,它就像一个魅力。

有人知道它是什么吗?

在调试会话期间混合的连接字符串是:

Data Source=MACHINE\SQLSERVER;Initial Catalog=DbName;Connect Timeout=300;Application Name=application;User ID=reader;Password=\"abcdefg\"

您可以使用 "

对密码字段中的双引号进行转义

所以 connectionStrings 看起来像这样:

  <connectionStrings>
    <add connectionString="Data Source=MACHINE\SQLSERVER;Initial Catalog=DbName;Connect Timeout=300;Application Name=application;User ID=reader;Password=&quot;abcdefg&quot;" name="CS"/>
  </connectionStrings>

可以使用xml字符转义。例如 space 是 您可以通过这种方式转义任何角色。一般形式是 &#xhhhh; 要么 &#nnnn; hhhh 是十六进制,nnnn 是十进制。

这里还列出了'shortcuts':https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references