【发布时间】:2019-04-01 23:59:56
【问题描述】:
我有一个旧的 Java 应用程序,它处理来自第三方数据馈送的 XML。
数据馈送允许用户输入,现在突然包含�� (????) 等表情符号。我真的很惊讶这个问题花了这么长时间才出现(表情符号已经存在了几年)。
该应用在javax.xml.parsers.DocumentBuilder.parse(InputStream) 中爆炸:
org.xml.sax.SAXParseException; lineNumber: 105; columnNumber: 3039; Character reference "&#
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:257)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:348)
at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:121)
是否有一个快速的本地化修复程序,我可以应用而无需重新设计和重新架构整个应用程序?此外,更愿意避免正则表达式搜索/替换黑客,因为这可能会引入其他微妙的问题。
【问题讨论】: