我送一個字符串從.NET服務的Java類,但在Java中,我得到org.xml.sax.SAXParseException :字符引用「&#x0」是無效的XML字符。org.xml.sax.SAXParseException:字符引用「&#X0」是無效的XML字符
請幫我解決這個。 在此先感謝。
我送一個字符串從.NET服務的Java類,但在Java中,我得到org.xml.sax.SAXParseException :字符引用「&#x0」是無效的XML字符。org.xml.sax.SAXParseException:字符引用「&#X0」是無效的XML字符
請幫我解決這個。 在此先感謝。
在C或C++字符串由null
(或 '\ 0')終止。在C#中,字符串可以包含null
,但通常這些來自C/C++函數。
您可以在.NET字符串擺脫null
與這取決於什麼是字符串中的null
的原因
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
。
嗨,羅蘭,謝謝你的回覆。我已經從字符串中刪除了空字符,但輸出不穩定。我有時會收到非法的參數異常,有時我會得到正確的輸出。請幫我解決這個問題。 – sulthana
@sulthana你可以提供一些更多的信息,在哪些情況下發生異常以及它何時起作用?併發生異常的地方(java或.net部分,哪一行/命令)... –
hi Roland,異常即將發生java.While返回JAVA類中的字符串,異常即將到來。這裏是例外**嚴重:Servlet.service()進行的servlet AppService服務扔例外 java.lang.IllegalArgumentException異常:「迴歸」之後的char「爲0x0」是不是一個有效的XML字符。 – sulthana
一些無效的字符會導致異常解析XML官方定義的無效字符,這三個範圍:
0x00 - 0x08
0x0b - 0x0c
0x0e - 0x1f
所以,你可以解析XML內容之前進行過濾。
該文檔使用什麼編碼,並聲明它? *是什麼*字符串的內容?你有意試圖包含U + 0000嗎? –