publicId和systemId之间需要空格

时间:2015-02-13 09:42:12

标签: java xml

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文件中手动更改。
我们可以通过代码调整任何方式吗?

1 个答案:

答案 0 :(得分:2)

您可能在您公司的代理服务器后面,而您的网络可能无法解析xsd文件的网址。

要解决此问题,您可以尝试以下方式 - 将xsd或xml文件的URL替换为classpath的版本。

示例:

替换 http://www.springframework.org/schema/beans/spring-beans-2.5.xsd 同 类路径:组织/ springframework的/豆类/工厂/ XML /弹簧豆-2.5.xsd

为我工作..