转换xml文件时出现CharConversionException

时间:2018-10-26 06:39:49

标签: java xml xml-parsing

我有一个处理XML文件的Java程序。在将XML转换为基于特定架构(xsd / xsl)的另一个xml文件时,会引发以下错误。

此错误只会引发一个具有xml标记的xml文件。

<abc>xxx yyyy “ggggg vvvv” uuuu</abc>

但是删除或重新输入两个引号后,它不会引发错误。

任何人,请协助我解决此问题。

java.io.CharConversionException:不支持大于4个字节的字符:字节0x93表示长度大于4个字节 在.org.apache.xmlbeans..impl.piccolo.xml.UTF8XMLDecoder.decode(UTF8XMLDecoder.java:162)

<?xml version= “1.0’ encoding =“UTF-8” standalone =“yes “?><xyz xml s=“http://pqr.yy”><Header><abc> aaa “cccc” aaaaa vvv</abc></Header></xyz>. 

1 个答案:

答案 0 :(得分:1)

正如其他人在评论中报告的那样,它失败了,因为印刷引号是使用Windows-1292编码而不是UTF-8编码的,因此解析器无法对其进行解码。

XML声明中声明的编码必须与用于字符的实际编码相匹配。

要找出此错误的产生原因并防止再次发生,我们将需要知道此(想要)XML文件的来源以及如何创建。

我的猜测是有人使用了“智能”编辑器;特别是Microsoft编辑器因将您键入的内容更改为Microsoft认为要键入的内容而臭名昭著。如果您要手动编辑XML,则最好使用支持XML的编辑器。