构建DOM文档对象时过早结束文件错误

时间:2013-03-19 16:09:29

标签: java exception error-handling

当我创建Document对象时,我遇到了文件错误的提前结束。这段代码几天前正在运行,我不确定是什么原因导致它现在抛出错误。

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
InputSource is = new InputSource(new StringReader(response));
Document doc = builder.parse(is);
  

[致命错误]:1:1:文件提前结束。

这是我收到的回复xml。看起来很不错。

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Body>
        <GetBatchFilesResponse xmlns="http://....">
            <GetBatchFilesResult>
                <BatchFile>
                    <Uri>someURI</Uri>
                    <ID>2025961</ID>
                    <FQName>someFileName</FQName>
                </BatchFile>
            </GetBatchFilesResult>
        </GetBatchFilesResponse>
    </soap:Body>
</soap:Envelope>

3 个答案:

答案 0 :(得分:1)

该消息表明您有格式错误的 XML响应。通常,当XML中存在没有匹配结束标记的开始标记时,会弹出此消息。我想你也会在响应中得到这个。

答案 1 :(得分:0)

尝试向xml添加一个新行,一些解析器需要它。

答案 2 :(得分:-3)

我又回到了我当地历史上的一些旧代码,它开始起作用了。我对代码中的一些逻辑做了一些小改动,出于某种原因,这些小改动影响了它处理响应的方式。