5

XML ファイルの解析中に、Stax で次のエラーが発生します。

Unicode(0xb) エラー - ドキュメントの要素コンテンツで無効な XML 文字 (Unicode: 0xb) が見つかりました。

下のリンクをクリックして、特殊文字「VI」を含む xml 行をクリックしてください。これはアルファベット文字ではありません。コピーしてメモ帳に貼り付けようとすると、何らかの記号として表示されます。Staxを使って解析してみました。上記のエラーを表示していました。

ここに画像の説明を入力

誰かが私にこれに対する解決策を教えてください。

前もって感謝します。

4

3 に答える 3

8

0xB(垂直タブ)はXMLでは有効な文字ではありません。ASCII 32(0x20、スペース)の前の有効な文字は、0x9(タブ)、0xA(キャリッジリターン)、および0xD(ラインフィード)のみです。

つまり、解析しようとしているのはXMLではありません。

于 2013-01-07T08:22:06.670 に答える
4

無効な xml 文字が xml に来るたびに、このようなエラーが発生します。メモ帳++で開くと、VT、SOH、FFのように見えますが、これらは無効なxml文字です。私はxmlバージョン1.0を使用しており、パターンでデータベースに入力する前にテキストデータを検証しています

Pattern p = Pattern.compile("[^\u0009\u000A\u000D\u0020-\uD7FF\uE000-\uFFFD\u10000-\u10FFF]+");
retunContent = p.matcher(retunContent).replaceAll("");

無効な特殊文字がxmlに入力されないようにします

于 2014-12-31T10:29:21.307 に答える
3

XML W3C 勧告によると、0xb は XML ファイルでは許可されていません。

文字範囲 [2] 文字 ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] /* サロゲート ブロック、FFFE、および FFFF を除く、任意の Unicode 文字。*/

厳密に言えば、入力ファイルは XML ファイルではありません。

于 2013-01-07T08:21:13.983 に答える