2011-12-09 56 views
2

我想使用DocumentBuilder解析xhtml格式良好的文檔,要求是我將解析xhtml文檔,並且將內容添加到xhtml文檔的正文部分。爲了解析這些文件我用下面的代碼無法解析linux上的xhtml文件

org.w3c.dom.Document document=null; 
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 
factory.setNamespaceAware(false); 
DocumentBuilder builder = factory.newDocumentBuilder(); 
document=builder.parse(file); 

的fileis的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機器上工作。

在此先感謝...

回答

0

什麼進入我腦海的是,解析器試圖從HTTP服務器的架構。你可以嘗試禁用驗證:

factory.setValidating(假)

,或者確保您能正常下載模式與wget命令(不是瀏覽器)在文檔中。

+0

我已添加factory.setValidating(false);仍然無法正常工作。 – user972590

+0

你能否提供一個代碼行,以防止發生異常,以防萬一嘗試用wget下載你的模式 – AValchev

+0

document = builder.parse(file);,在這一行我得到異常。我不知道wget爲什麼用它? – user972590