org.xml.sax.SAXParseException:字符引用“ ”是无效的XML字符

时间:2013-07-29 14:49:22

标签: c# java .net

我正在从.net服务发送一个字符串到java类,但在java中,我得到 org.xml.sax.SAXParseException:字符引用“& #x0”是一个无效的XML字符。

请帮我解决这个问题。 提前谢谢。

2 个答案:

答案 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内容之前对其进行过滤。