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

本文关键字:字符 #x0 XML 无效 amp sax xml SAXParseException 引用 org | 更新日期: 2023-09-27 18:25:18

我正在将字符串从.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

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时,官方定义了无效字符的这三个范围:

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

因此,您可以在解析 XML 内容之前过滤它们。