我正在从.net服务发送一个字符串到java类,但在java中,我得到 org.xml.sax.SAXParseException:字符引用“& #x0”是一个无效的XML字符。
请帮我解决这个问题。 提前谢谢。
答案 0 :(得分:1)
在C或C ++中,字符串由null
(或'\ 0')终止。在C#中,字符串可以包含null
,但通常来自C / C ++函数。
您可以使用
删除.net字符串中的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
取决于字符串中null
的原因。
答案 1 :(得分:0)
一些无效字符在解析XML时会导致异常,官方定义了这三个无效字符范围:
0x00 - 0x08
0x0b - 0x0c
0x0e - 0x1f
因此,您可以在解析XML内容之前对其进行过滤。