会发生这种错误的环境:ASP.NET 或 XML
状况:一个本来运行正常的C#页面,由于SQL的密码更改后一直出现“分析 EntityName 时出错”错误,验证过web.config的SQL ConnectionString的密码是更改后的。
在百思不得其解中,发现VisualStudio(2008)打开web.config会把SQL密码的某两个字符&N打上红色标记“未定义实体"N"”,忽然明白,因为web.config是XML内容,而XML中会把“&”用于特定义的字符实体,即XML的&N=实体N,因此在分析SQL ConnectionString时出错。
解决:把SQL密码改成不带“&字符”的形式
附上:XML字符实体
html
正如上面所提到的那样,在编写 XAML 标记时常常用到的大部分字符实体和转义都是由 XML 定义的。本主题不提供相似实体的完整列表;对于这些实体的更具肯定性的参考能够在外部文档(如 XML 规范)中找到。可是,为方便起见,本主题列出了一些常常用于 XAML 标记的特定 XML 字符实体。web
字符编码 |
实体spa |
说明xml |
|
---|---|---|---|
&(“and”符)htm |
&blog |
必须既用于属性值,又用于元素的内容。ci |
|
>(大于号字符)文档 |
<get |
必须用于属性值,可是,只要前面没有 <,就能够接受 > 做为元素的内容。 |
|
<(小于号字符) |
< |
必须用于属性值,可是,只要后面没有 >,就能够接受 < 做为元素的内容。 |
|
"(双引号字符) |
" |
必须用于属性值,可是可接受 " 做为元素的内容。请注意,属性值自己能够用 ' 或 " 引发来;属性值外壳由首先出现的引号定义,另外一个引号随后能够用做值中的文本。 |
|
'(单引号字符) |
' |
必须用于属性值,可是可接受 ' 做为元素的内容。请注意,属性值自己能够用 ' 或 " 引发来;属性值外壳由首先出现的引号定义,另外一个引号随后能够用做值中的文本。 |
|
(数字字符映射) |
&#[integer]; 或者 &#x[hex]; |
XAML 支持将数字字符映射处处于活动状态的编码。 |
|
(不间断空格) |
 (采用 UTF-8 编码) |
对于流文档元素或者使用文本的元素(如 TextBox),不间断空格不会在标记外部规范化,对于 xml:space="default" 也是如此(有关详细信息,请参见 XAML 中的空白处理)。 |
XAML 使用 XML 注释格式:注释以 <!-- 开头,以 -->, 结尾,注释中不得出现 -- 序列。