コードに少し問題があります。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 行目でエラーが発生しています。78 行目: ボタンがクリックされた後、startmenu-class から xmlparser-class を呼び出しましたが、なぜそれが間違いなのかわかりません。
ここにコード部分があります:
xmlparser x = new xmlparser();
x.main(null);
ごく普通の電話です。誰かが助けてくれることを願っています。ありがとうございます:)