過早結束,這是我的xml文件org.xml.sax.SAXParseException:文件
<?xml version="1.0" encoding="utf-8"?>
<settings></settings>
和如下所示
public void load(String fileName) {
...
Document xmlDocument = null;
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = null;
try
{
builder = dbFactory.newDocumentBuilder();
xmlDocument = builder.parse(new File (fileName));
}
catch(Exception e)
{
Log.write(e);
}
...
}
我的方法當我調用我的方法,收到以下:
[task] org.xml.sax.SAXParseException: Premature end of file.
[task] at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:249)
[task] at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284)
[task] at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:208)
[task] at MyClass.load(MyClass.java:49)
我完全困惑。
感謝您的任何想法。
-Cyril
檢查'File.exists()''之前builder.parse()',只是爲了確保它是你認爲它是。 – skaffman 2011-05-05 07:23:06
我試圖運行這個代碼,它爲我工作。 – Ammu 2011-05-05 07:39:19
我一直在想這是一個編碼問題(聲明utf-8 xml文件編碼爲非UTF-8),但我的測試沒有證明它。如果文檔格式不正確,任何xml文件都可能存在 – Kojotak 2011-05-05 08:29:43