您尝试执行的操作有些混乱。
如果您尝试解析的文件格式包含“&”
&字符,则它 不是 格式正确的XML。
&井号表示为格式良好的XML中的字符实体(例如)。
如果真的应该是真正的XML,那么在编写/生成文件的过程中都会出现错误。
如果它不是真正的XML(即,“&”号不是一个错误),那么您可能不应该尝试使用XML解析器对其进行解析。
知道了 XML实际上已经正确编码,但是您没有正确使用SO标记。
看来您真正的问题是,
characters(...)分别为之前的文本
&,(已解码的)
&文本和之后的文本分别调用了回调
&。您只需要通过将文本块重新结合在一起来处理此问题。
的javadoc这样
ContentHandler.characters()说:
“解析器将调用此方法来报告字符数据的每个块。SAX解析器可以在单个块中返回所有连续的字符数据,也可以将其拆分为几个块……” 。



