XML 剖析器:在文字內容中找到無效的字元

當您使用 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>

相反地,您可以使用數值實體參考來編碼每一個字元。 例如,您可以採用特殊字元 六進位版本)。