我目前有以下XML
文件。
http://www.cse.unsw.edu.au/~cs9321/14s1/assignments/musicDb.xml
我的XMLParser.java
课程。
package edu.unsw.comp9321.assignment1;
import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
public class XMLParser {
public void search () {
try{
File fXmlFile = new File("/COMP9321Assignment1/xml/musicDb.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);
System.out.println("Root element :" + doc.getDocumentElement().getNodeName());
} catch (Exception e) {
e.printStackTrace();
}
}
}
我在另一个类中创建一个对象并调用search
,但我一直收到上述错误。
有人知道问题可能是什么吗?
感谢您的帮助。
答案 0 :(得分:2)
正常情况下“org.xml.sax.SAXParseException:过早结束文件”由于多种原因而发生
1.检查你的xml所有标签是否在同一级别正确关闭
2.检查是否有任何名称空间问题。
3.检查xml文档的完整性