2

Visual Studio 2008 で次のファイルを新しい XML ファイルとして書きましたが、次のエラーが報告されます。エラー メッセージの内容と、間違った形式の XML ファイルとして扱われる理由を教えてください。

XML ファイルと関連するエラー メッセージを次に示します。

<?xml version="1.0" encoding="utf-8"?>
<Foo>&#x2;</Foo>

Error   1   Character ' ', hexadecimal value 0x2 is illegal in XML documents.   XMLFile1.xml    2   6   Miscellaneous Files

よろしくお願いします、ジョージ

4

5 に答える 5

9

あなたの問題は  への参照です。これは基本的に、印刷できないランダムなバイナリ データです。これは XML1.0 では許可されていません (XML 1.1 以降では許可されていますが、XML バージョンを変更しても、.Net バージョンで許可されるかどうかは不明です)。

于 2009-03-30T08:43:56.580 に答える
3

XML 1.0 仕様を確認してください

特に、セクション 2.2 の文字の定義を参照してください。

Char ::= #x9 | 
         #xA |
         #xD |
         [#x20-#xD7FF] |
         [#xE000-#xFFFD] |
         [#x10000-#x10FFFF]

また、セクション 4.1 のエンティティ参照の定義:

文字参照を使用して参照される文字は、Char のプロダクションと一致する必要があります。

于 2009-03-30T09:34:48.767 に答える
2

XML 内にバイナリ データを配置する必要がある場合は、CDATA セクションを使用します。 http://www.w3schools.com/XML/xml_cdata.asp

于 2009-03-30T09:01:06.257 に答える
2

0x2 は印刷可能な文字ではありません。

于 2009-03-30T08:40:35.027 に答える