.net サービスから Java クラスに文字列を送信していますが、Java で org.xml.sax.SAXParseException: Character reference "�" is an invalid XML character.
これを解決するのを手伝ってください。前もって感謝します。
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
ます。
一部の無効な文字は、XML の解析中に例外を引き起こします。公式は、無効な文字の 3 つの範囲を定義しています。
0x00 - 0x08
0x0b - 0x0c
0x0e - 0x1f
そのため、XML コンテンツを解析する前にそれらをフィルタリングできます。