1

我正在使用commons http-client进行 SOAP 服务调用并得到以下异常 -

异常处理消息:org.xml.sax.SAXParseException;行号:20;列号:23;在属性“{1}”的值中发现无效的 XML 字符(Unicode:0x{2})并且元素为“1”。

我知道我有性格

☺</p>

在我的数据中,根据XML 规范是不允许的。

有没有办法配置 commons http-client/SAX XML Parser 从输入数据中忽略/删除/清除不受支持的字符?

4

1 回答 1

1

我不认为真正的问题是您的文档包含 XML 不允许的字符。您的问题是字符没有按照文件所说的方式编码,因此解析器认为它是一个不同的字符。去掉有问题的字符(你可以通过预处理阶段来做,例如使用 perl)可能会缓解症状,但它不会治愈疾病。您需要弄清楚文件的实际编码是什么,XML 解析器认为它是什么,以及为什么。

于 2015-09-18T14:56:24.577 回答