当我创建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>
答案 0 :(得分:1)
该消息表明您有格式错误的 XML
响应。通常,当XML
中存在没有匹配结束标记的开始标记时,会弹出此消息。我想你也会在空响应中得到这个。
答案 1 :(得分:0)
尝试向xml添加一个新行,一些解析器需要它。
答案 2 :(得分:-3)
我又回到了我当地历史上的一些旧代码,它开始起作用了。我对代码中的一些逻辑做了一些小改动,出于某种原因,这些小改动影响了它处理响应的方式。