java - publicId 和 systemId 之间需要空格

标签 java xml

Dom 解析器在解析公共(public) id 存在但系统 id 不存在的 xml 文件时给出以下异常。
例如:

<!DOCTYPE SPIN PUBLIC "-//AIP//DTD aipspin//EN"> <root> ... </root>

org.xml.sax.SAXParseException: White spaces are required between publicId and systemId. at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:249) at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284) at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:180) at com.main.parse.main(parse.java:77)

一种解决方法是更改​​添加虚拟系统 ID 和空格,但我无法在 xml 文件中进行手动更改。
有什么办法可以通过代码来调整吗?

最佳答案

您可能使用了公司的代理,并且您的网络可能无法解析 xsd 文件的 URL。

要解决这个问题,您可以尝试以下方法- 将 xsd 或 xml 文件的 URL 替换为类路径的版本。

示例:

替换 http://www.springframework.org/schema/beans/spring-beans-2.5.xsd 和 类路径:org/springframework/beans/factory/xml/spring-beans-2.5.xsd

为我工作..

关于java - publicId 和 systemId 之间需要空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28496555/

相关文章:

java - 将 Stringbuffer 转换为 String() 后调用 String subSequence()

java - 如何隐藏 fragment 并刷新 Activity 以显示这一点

java - 在 Spring Boot 中将日期作为请求参数处理出现错误

android - 如何在 Android 中使用参数自定义此 drawable?

c# - 如何根据父节点中的属性删除特定节点及其子节点?

java - 哪个 .jar 文件有 javax.xml.stream.*?

java - 使用 XMLStreamReader 转义字符

java - Eclipse:导入失败类时没有注意到错误

java - 在代码中添加 "到字符串

使用根级别元素解析 XML