gpt4 book ai didi

java - DocumentBuilderFactory 和 Filechooser 的问题

转载 作者:行者123 更新时间:2023-11-30 04:16:55 26 4
gpt4 key购买 nike

我的代码有一点问题。我想加载一个 XML 文件,从文件中提取数据,例如不同的对象及其属性。我的想法是通过 Filechooser 选择文件,使用 JDOM 通过 XMLparser 获取信息,然后将对象保存在某个地方,例如一个数据库。现在我在读取所选文件时遇到问题。为了更好地理解,我的代码如下所示:

公共(public)类 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 行:单击按钮后,我从 startmenu-class 中调用 xmlparser-class,但我不明白为什么这是一个错误?

这里是它的代码部分:

xmlparser x = new xmlparser();
x.main(null);

只是一个普通的通话。我希望有人能提供帮助,非常感谢:)

最佳答案

我认为您的问题是您没有使用用户选择的File,而是使用与根文件夹相对应的变量f >JFileChooser。您可能应该在代码中执行类似的操作:

 File choosenFile = chooser.getSelectedFile();

这将获取JFileChooser所选的文件。我已经有一段时间没有使用该类了,所以您可能需要阅读一些文档 here .

选择文件后,您可以解析该文件,并且可以重新使用文件变量,而不是创建新的文件:

  Document document = docBuilder.parse(choosenFile);

我不知道这是否能解决问题,如果您需要更多帮助,请发表评论。

关于java - DocumentBuilderFactory 和 Filechooser 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18151431/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com