我的代码有点问题。我想加载一个 XML 文件,从文件中提取数据,例如不同的对象及其属性。我的想法是通过 Filechooser 选择文件,使用 JDOM 通过 XMLparser 获取信息,然后将对象保存在某处,例如数据库。现在我在读取所选文件时遇到问题。为了更好地理解,我的代码看起来像这样:
公共类 xmlparser {
public static void main (String args[]) throws Exception
{
JFileChooser chooser = new JFileChooser();
File f = new File("C:/x");
chooser.setCurrentDirectory(f);
chooser.setFileFilter(new OnlyXML());
chooser.showOpenDialog(null);
String path = f.getPath().toString();
DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
try {
DocumentBuilder docBuilder = builderFactory.newDocumentBuilder();
Document document = docBuilder.parse(new File(path));
document.normalize();
System.out.println(document.getFirstChild().getTextContent());
}
catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
编译后我收到此失败消息:
[Fatal Error] :1:1: Content ist nicht zulässig in Prolog.
org.xml.sax.SAXParseException; systemId: file:/C:/x/; lineNumber: 1;
columnNumber: 1; Content ist nicht zulässig in Prolog.
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at javax.xml.parsers.DocumentBuilder.parse(Unknown Source)
at XMLParser.xmlparser.main(xmlparser.java:36)
at startmenu.Startmenu$2.mouseClicked(Startmenu.java:78)
第 36 行和第 78 行有故障。 第 36 行:我确定是所选文件的问题,但我不知道是什么。到第 78 行:我从开始菜单类中调用 xmlparser 类,在单击按钮后,我不明白为什么这是一个错误?
这里是它的代码部分:
xmlparser x = new xmlparser();
x.main(null);
只是一个普通的电话。我希望有人能提供帮助,非常感谢你:)