【问题标题】:Unable to parse the xhtml document on linuxlinux无法解析xhtml文档
【发布时间】:2012-01-16 12:12:46
【问题描述】:

我正在尝试使用 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 机器上工作。

提前谢谢...

【问题讨论】:

    标签: java windows linux parsing xhtml


    【解决方案1】:

    我想到的是解析器正在尝试从 HTTP 服务器获取架构。您能否尝试禁用验证:

    factory.setValidating(false)

    或者确保您可以使用 wget 命令(不是浏览器)正确下载文档中的架构。

    【讨论】:

    • 我添加了 factory.setValidating(false);还是不行。
    • 能否请您提供发生异常的代码行,以防万一尝试使用 wget 下载您的架构
    • document=builder.parse(file);,在这一行我得到了异常。我不知道 wget 为什么要使用它?
    猜你喜欢
    • 1970-01-01
    • 2010-11-20
    • 1970-01-01
    • 2013-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多