徵狀
在嘗試載入 XML 檔案儲存為 utf-7 (Unicode 編碼格式傳送) 時,XML 剖析器在 Internet Explorer 中的就會產生下列錯誤訊息:
在文件的最高層級無效。
使用 MSXML 剖析器,從伺服器端或用戶端指令碼時,也會發生相同的錯誤。
原因
MSXML 剖析器,早於 MSXML 2.6 的版本不支援 utf-7。
解決方案
如果要解決這個問題,請儲存您的 XML 文件,為 utf-8,慣用的傳輸的編碼格式 Unicode.MSXML 2.6 或更新版本支援 utf-7 編碼方式。
狀態
產生此錯誤是系統刻意為之。
其他相關資訊
雖然 Unicode 是統一的字元組,代表幾乎世界上所有的語言,有許多的位元組表示法或轉換格式,可以使用 Unicode 檔。最受歡迎的格式是 utf-8,其中將 Unicode 字元表示成一至四個 8 位元的位元組序列。Utf-7 是定義為允許通過郵件閘道假設 ASCII,解簡訊的高位元的 Unicode 文字 7 位元轉換格式。根據 XML 1.0 標準,區段 4.3.3,有效的 XML 檔案,才能是下列其中一項:
-
Unicode 以 utf-8 格式檔案。
-
Utf-16 格式的 Unicode 檔案。
-
具有為其第一個位元組中一些其他的字元編碼方式 (例如,ASCII) 的檔案
Utf-7 並不會使用位元組順序標記。此外,utf-7 將特殊的 XML 字元<到+ ADw] 的物理學基礎上是第一個字元的 utf-7 編碼的 XML 文件。由於這是不符合標準的 XML,MSXML 拒絕載入這類檔案。許多文字編輯器及文書處理器,可讓您儲存為編碼文字在 Microsoft Word 中以許多不同的傳輸編碼方式,包括 utf-7 已知的 Unicode 文字檔案。 因此如果您將在 Word 中的文件儲存為 「 編碼文字 utf-7 」 時,會拒絕 MSXML,基於上述理由將它載入。
若要重現問題的步驟
-
在 Word 2000 中建立簡單的 XML 檔案:
<?xml version="1.0"?><MyTag><EmbeddedTag name1="value"/></MyTag>
-
將檔案儲存為編碼文字。當 Word 將要求您,是否您想要失去格式設定時,請按一下 [是]。然後 Word 會提示您輸入要使用的編碼格式。選取utf-7,,然後將文件儲存為端點檔案名稱 TestUTF7.xml。
-
載入 cap Internet Explorer 5] 中的 TestUTF7.xml 的檔案名稱。您會收到下列錯誤訊息:
在文件的最高層級無效。第 1 行,位置 1 + ADw-? xml 版本 + AD0AIg-1.0 + ACI-? + AD4-。
參考
為最新 Microsoft 全球軟體開發的最新的 Unicode 標準。如需有關 Microsoft Internet Explorer 開發以 Web 為基礎的解決方案的詳細資訊,請造訪下列 Microsoft 網站:
(c) Microsoft 公司 2000 中,國際著作權公約保護。由 Jay 思羽 Allen,Microsoft Corporation 的貢獻。