Java org.xml.sax.SAXParseException:过早结束文件
我目前有以下Java org.xml.sax.SAXParseException:过早结束文件,java,xml,domparser,Java,Xml,Domparser,我目前有以下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 voi
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();
}
}
}
我在另一个类中创建了一个对象并调用搜索
,但我一直收到上述错误
有人知道问题出在哪里吗
感谢您的帮助。通常情况下,“org.xml.sax.SAXParseException:过早结束文件”会由于以下几个原因出现
1.检查xml是否在同一级别正确关闭了所有标记
2.检查是否存在任何名称空间问题
3.检查xml文档的格式是否正确文件/COMP9321Assignment1/xml/musicDb.xml不存在,或者不包含您认为它包含的内容。您意识到它是一个绝对路径,因此它会在文件系统的根目录下查找目录COMP9321Assignment1,对吗?哦,对了。我应该把这个
.xml
文件放在哪里?我应该如何引用它呢?把它放在你想放的任何地方,并在你的代码中使用实际文件的路径。谢谢。我刚刚创建了一个res
文件夹,并将文件路径设置为file fXmlFile=new file(“C:/Users/Giridhaar/workspace/COMP9321Assignment1/res/musicDb.xml”)代码>。这起作用了。我很好奇,如果我在另一台计算机上运行这个项目,它会如何找到文件?文件路径通常作为程序的参数传递。如果要在记事本中打开文件,请键入notepad c:\path\of\file.txt
。您的程序可能应该将文件路径作为参数。