如何在C#中为App.config使用Escape关键字

时间:2018-10-17 00:15:40

标签: c# xml connection-string app-config

我有app.config文件,其中包含适用于Windows窗体应用程序的以下代码。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.1" />
    </startup>
  <connectionStrings>
    <add name = "myConnection"
         connectionString = "Data Source=(LocalDB)\v11.0; AttachDbFilename = "C:\Users\USER\Documents\visual studio 2012\Projects\AliceAoi\WindowsFormsApplication2\Database2.mdf";Integrated Security=True"
         providerName = "System.Data.SqlClient" />
  </connectionStrings>
</configuration>

connectionString属性给出错误。使用\\代替\并没有帮助。它指出需要空格。

我该如何解决?

1 个答案:

答案 0 :(得分:0)

内部引号需要使用&quot;进行转义:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.1" />
  </startup>
  <connectionStrings>
    <add name = "myConnection"
         connectionString = "Data Source=(LocalDB)\v11.0;&quot;AttachDbFilename=&quot;C:\Users\USER\Documents\visual studio 2012\Projects\AliceAoi\WindowsFormsApplication2\Database2.mdf&quot;; IntegratedSecurity=True"
         providerName = "System.Data.SqlClient" />
  </connectionStrings>
</configuration>

问题在于XML解析器认为您的连接字符串在\v11.0;"之后结束,但是继续存在,您会遇到其他错误。您必须使用&quot;转义序列删除内部引号。