我正在使用commons http-client进行SOAP服务调用并获得以下异常 -
异常处理消息:org.xml.sax.SAXParseException; lineNumber:20;关口 umnNumber:23;在值中找到了无效的XML字符(Unicode:0x {2}) 属性“{1}”和元素是“1”。
我知道我有一个角色
☺
在我的数据中,XML specification不允许这样做。
有没有办法配置commons http-client / SAX XML Parser忽略/删除/清除输入数据中不支持的字符?
答案 0 :(得分:1)
我认为真正的问题不在于您的文档包含XML不允许的字符。您的问题是该字符的编码方式与文件的编码方式不同,因此解析器认为它是一个不同的字符。剥离有问题的角色(你可以用预处理阶段,例如使用perl)可以缓解症状,但它不能治愈疾病。您需要弄清楚文件的实际编码是什么,XML解析器认为是什么,以及原因。