1

コードに少し問題があります。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);

ごく普通の電話です。誰かが助けてくれることを願っています。ありがとうございます:)

4

1 に答える 1