在 C# 中的 app.config 文件中存储 < 和 > 字符时出错

Posted

技术标签:

【中文标题】在 C# 中的 app.config 文件中存储 < 和 > 字符时出错【英文标题】:error storing < and > characters in app.config file in C# 【发布时间】:2012-08-21 23:59:56 【问题描述】:

我想在具有 的 app.config 文件中存储一个 sql 查询 字符,但文件显示错误 'expecting >' , 你遇到过这个问题吗?

【问题讨论】:

@ChrisBrint 如果我希望在启动应用程序之后更改该查询。 【参考方案1】:

只需将 &amp;lt;&gt; 更改为 &amp;lt;&amp;gt;.

【讨论】:

【参考方案2】:

如果您确实需要将该查询放在 app.config 中,您可以将其放在 CDATA 部分中,或者您可以使用 &amp;lt;&amp;gt; 转义这些字符

【讨论】:

【参考方案3】:

首先,如果您将 SQL 存储在 app.config 中,您可能做错了什么。正如@ChrisBint 所说,您可能应该将其放在嵌入式资源文件中。

话虽如此,您应该能够通过用适当的实体替换任何特殊字符来纠正问题:

<  ... &lt;
>  ... &gt;

"  ... &quot;

【讨论】:

【参考方案4】:

将 SQL 存储在资源文件而不是 app.config 中。

【讨论】:

【参考方案5】:

(大于字符)使用“&gt”

必须用于属性值,但 > 可以作为元素的内容,只要

必须用于属性值,但不跟在它后面。

来源 - http://msdn.microsoft.com/en-us/library/ms748250.aspx

【讨论】:

【参考方案6】:

您必须使用 XML 编码字符。 &amp;lt;&amp;gt; 分别对应 &lt;&gt;

这应该确保在 xml 中正确处理任何特殊字符并按预期返回

【讨论】:

以上是关于在 C# 中的 app.config 文件中存储 < 和 > 字符时出错的主要内容,如果未能解决你的问题,请参考以下文章

在 C# 运行时读取、写入和更新 app.config 文件中的连接字符串

从 c# 中的 app.config 获取 ConnectionString [重复]

App.config C# 中的自定义配置部分

您如何使用 c# 4.0 app.config 中的部分?

c#中怎样读取xml文件中的数据,怎样动态将数据存储到xml文件中去?

app.config (C#) 中的嵌套自定义元素