2

.net サービスから Java クラスに文字列を送信していますが、Java で org.xml.sax.SAXParseException: Character reference "�" is an invalid XML character.

これを解決するのを手伝ってください。前もって感謝します。

4

2 に答える 2

1

C または C++ では、文字列はnull(または '\0') で終了します。C# では、文字列に を含めることができますがnull、多くの場合、これらは C/C++ 関数からのものです。

nullで.net文字列を取り除くことができます

s = s.Replace("\0", "");  // just removes the null

また

int pos = s.IndexOf('\0');  
if (pos >= 0)
    s = s.Substring(0, pos); // removes the null and the rest of the string

文字列の の理由によって異なりnullます。

于 2013-07-29T15:10:01.957 に答える
0

一部の無効な文字は、XML の解析中に例外を引き起こします。公式は、無効な文字の 3 つの範囲を定義しています。

0x00 - 0x08  
0x0b - 0x0c  
0x0e - 0x1f

そのため、XML コンテンツを解析する前にそれらをフィルタリングできます。

于 2017-06-23T06:25:18.320 に答える