Java 如何删除XML中的特殊字符,并且不应导致错误;1字节UTF-8序列的无效字节1“;在读取此xml文件时

Java 如何删除XML中的特殊字符,并且不应导致错误;1字节UTF-8序列的无效字节1“;在读取此xml文件时,java,xml,xslt,mule,Java,Xml,Xslt,Mule,我犯了一个错误 1字节UTF-8序列的无效字节1 在Java中读取XML文件以生成XSD时 然后我注意到我的XML确实有一些特殊的字符,比如“'”?&等等。因此,在处理XML生成XSD之前,我已经设法在Java中删除了它们。但挑战是它是动态数据,所以我们可能不知道会遇到什么样的字符 我们如何才能巧妙地删除这些特殊字符?这样它就可以匹配UTF-8编码,而不会出现这个问题 这可以在XSLT中解决以删除字符吗 我们如何才能摆脱这些字符从下面的部分或允许没有问题 消息 非常好亲爱的笑色laken yeh

我犯了一个错误

1字节UTF-8序列的无效字节1

在Java中读取XML文件以生成XSD时

然后我注意到我的XML确实有一些特殊的字符,比如“'”?&等等。因此,在处理XML生成XSD之前,我已经设法在Java中删除了它们。但挑战是它是动态数据,所以我们可能不知道会遇到什么样的字符

我们如何才能巧妙地删除这些特殊字符?这样它就可以匹配UTF-8编码,而不会出现这个问题

这可以在XSLT中解决以删除字符吗

我们如何才能摆脱这些字符从下面的部分或允许没有问题

消息

非常好亲爱的笑色laken yeh heart bhot karap hota ha brain ke baat nahi sunte ha Allah bhagwan god Na yeh kuy banayai ha亲爱的朋友们您的错误听起来像是XML文档包含XML中禁止的单字节控制字符。XML禁止某些字符出现在文档中;请参阅
Char
p在处生成XML 1.0中允许的字符列表

您需要在这些字符到达XML之前删除它们;否则您的XML将出现格式错误,此时XSLT将无法转换您的文档


如果需要转换有效的XML字符,XSLT可以使用
translate
函数来实现这一点
在所有文本节点上运行时应使用Windows-1252编码的引号。当然,最好确保此输入在到达XML之前已修复。

您的错误听起来像XML文档包含XML中禁止的单字节控制字符。XML禁止某些字符出现在文档中;请参阅他在生产中查找XML 1.0中允许的字符列表

您需要在这些字符到达XML之前删除它们;否则您的XML将出现格式错误,此时XSLT将无法转换您的文档


如果需要转换有效的XML字符,XSLT可以使用
translate
函数来实现这一点在所有文本节点上运行时应使用Windows-1252编码的引号。当然,最好确保此输入在到达XML之前已修复。

如果您也可以共享输入,这可能会有所帮助:-)。什么类型的文件会出现问题?您如何读取它?请为我们提供一种重现问题的方法-请参阅:.我正在通过mule读取java中的数据,如下所示..InputStream is=new ByteArrayInputStream(message.getPayloadAsString(“UTF-8”).getBytes();文件的编码是什么?XML本身指定的编码是什么?基本上,您读取的是UTF-8编码的文件,但错误消息告诉您它实际上是以其他方式编码的。您需要找出实际的编码是什么。如果您也可以共享输入,这可能会有帮助:-)。什么文件的t出现了问题?您是如何读取的?请为我们提供一种重现问题的方法-请参阅:。我正在通过mule读取java中的数据,如下所示..InputStream is=new ByteArrayInputStream(message.getPayloadAsString(“UTF-8”).getBytes();文件的编码是什么?XML本身指定的编码是什么?基本上,您读取的是UTF-8编码的文件,但错误消息告诉您它实际上是以其他方式编码的。您需要了解实际的编码是什么。