配置SAX XML解析器以避免SAXParseException

时间:2015-09-18 11:39:45

标签: xml special-characters sax apache-commons-httpclient saxparseexception

我正在使用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忽略/删除/清除输入数据中不支持的字符?

1 个答案:

答案 0 :(得分:1)

我认为真正的问题不在于您的文档包含XML不允许的字符。您的问题是该字符的编码方式与文件的编码方式不同,因此解析器认为它是一个不同的字符。剥离有问题的角色(你可以用预处理阶段,例如使用perl)可以缓解症状,但它不能治愈疾病。您需要弄清楚文件的实际编码是什么,XML解析器认为是什么,以及原因。