當您使用 Microsoft XML 剖析器 (MSXML) 剖析包含特殊字元的可延伸標記語言 (XML) 時,本文可協助您解決錯誤。
原始產品版本: .NET Framework
原始 KB 編號: 238833
癥狀
當您使用 Microsoft XML 剖析器 (MSXML) 剖析包含特殊字元的 XML 時,剖析器可能會在第一個特殊字元的行和位置回報下列錯誤訊息:
在文字內容中找到無效的字元。
原因
XML 檔未標示為適當的字元編碼配置。
解決辦法
- 在 XML 處理指令中指定適當的編碼配置。
- 將 XML 數據重新編碼為適當的 UTF-8。
地位
這行為是經過設計的。
詳細資訊
特殊字元是指標準美國資訊交換標準代碼 (ASCII) 字元集範圍以外的任何字元,0x00 - 0x7F,例如具有口音、umlauts 或其他變音符號的拉丁字元。 XML 檔的預設編碼配置是 UTF-8,其編碼 ASCII 字元的值0x80或高於其他標準編碼配置。
如果您使用的是使用簡單 iso-8859-1 編碼配置的數據,通常會看到此問題。 在此情況下,最快速的解決方案通常是在 [解析] 區段中所列 的第一個解決方案 。 例如,使用下列 XML 宣告:
<?xml version="1.0" encoding="iso-8859-1" ?>
<rootelement>
...XML data...
</rootelement>
相反地,您可以使用數值實體參考來編碼每一個字元。 例如,您可以採用特殊字元 六進位版本)。