You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C# WinForm中app.config字符串内&字符无法正常使用的问题

为什么app.config里的&字符会导致配置失效?

这个问题我太熟了!你遇到的是XML语法的特殊字符限制——在XML文件里,&是一个保留的特殊字符,它被用来表示XML实体引用(比如&lt;代表<,&gt;代表>)。当你直接在配置项的属性值里写&password=时,XML解析器会误以为你要开始一个实体引用,但后面并没有跟着合法的实体名称(比如amp、lt这些),所以会抛出解析错误,导致整个配置无法正常加载。

解决方法:用XML实体转义&字符

把属性值里的&替换成它的XML实体&amp;就可以了,修改后的配置代码如下:

<configSections>
  <sectionGroup name="API">
    <section name="loginURL" type="System.Configuration.SingleTagSectionHandler"/>
  </sectionGroup>
</configSections>
<API>
  <loginURL url="http://test.fr:81/api/sm?" param1="name=" param2="&amp;password="/>
</API>

这样XML解析器就能正确识别这个字符,把它当作普通的&来处理,你的配置项就能正常生效啦。

另外补充一点:除了&,XML里还有几个需要转义的特殊字符,分别是:

  • < → &lt;
  • > → &gt;
  • " → &quot;
  • ' → &apos;
  • & → &amp;

如果以后在配置里用到这些字符,记得都用对应的实体转义哦。

内容的提问来源于stack exchange,提问作者MrB3NiT0

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:11:47