我试图使用DocumentBuilder解析xhtml格式良好的文档,要求是我将解析xhtml文档,并将内容附加到xhtml文档的正文部分。为了解析文档,我使用下面的代码
org.w3c.dom.Document document=null;
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(false);
DocumentBuilder builder = factory.newDocumentBuilder();
document=builder.parse(file);
该文件是我要解析的xhtml文件它在Windows机器上工作得很好,当我试图在Linux机器上运行相同的代码时,它无法解析文档并给出异常
java.net.SocketException: Unexpected end of file from server
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:723)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:589)
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:720)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:589)
谁能告诉我为什么它不能在linux机器上工作?
我想到的是解析器试图从HTTP服务器获取模式。您可以尝试禁用验证吗:
factory.setValidating (false)
或者确保您可以使用wget命令(而不是浏览器)正确下载文档中的模式。