Dom解析器在解析存在公共ID但系统ID不存在的xml文件时给出以下异常 例如:
<!DOCTYPE SPIN PUBLIC“ - // AIP // DTD aipspin // EN”> <根> ...< / root>
org.xml.sax.SAXParseException:两者之间需要空格 publicId和systemId。在 com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:249) 在 com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284) 在javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:180) 在com.main.parse.main(parse.java:77)
解决的一种方法是更改虚拟系统ID和空格,但我无法在xml文件中手动更改。
我们可以通过代码调整任何方式吗?
答案 0 :(得分:2)
您可能在您公司的代理服务器后面,而您的网络可能无法解析xsd文件的网址。
要解决此问题,您可以尝试以下方式 - 将xsd或xml文件的URL替换为classpath的版本。
示例:
替换 http://www.springframework.org/schema/beans/spring-beans-2.5.xsd 同 类路径:组织/ springframework的/豆类/工厂/ XML /弹簧豆-2.5.xsd
为我工作..