會發生這種錯誤的環境: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 註釋格式:註釋以 <!-- 開頭,以 -->, 結尾,註釋中不得出現 -- 序列。