1

どうか、私のコードで何が間違っている可能性がありますか。以下は私のメニュークラスです。

package commuinity;

import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
public class Menu {

    String menu;
    String menuitem;
    String name;
    String action;


    public String getMenu() {
        return menu;
    }

    @XmlElement
    public void setMenu(String menu) {
        this.menu = menu;
    }
    public String getMenuitem() {
        return menuitem;
    }

    @XmlElement
    public void setMenuitem(String menuitem) {
        this.menuitem = menuitem;
    }
    public String getName() {
        return name;
    }

    @XmlAttribute
    public void setName(String name) {
        this.name = name;
    }
    public String getAction() {
        return action;
    }
    @XmlAttribute
    public void setAction(String action) {
        this.action = action;
    }



}

これが私のJaxbユーティリティクラスです

import java.io.File;
import java.io.IOException;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;

public class JAXBExcer {

    public JAXBExcer(){


            try {
                File file = new File("sr/resources/file.xml");
                file.createNewFile();


            JAXBContext jaxbContext = JAXBContext.newInstance(Menu.class);

            Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();

             Menu menuApp= (Menu)jaxbUnmarshaller.unmarshal(file);


            System.out.println(menuApp);

            }
            catch(IOException e){
                System.out.println("File is not created!");
            }

           catch (JAXBException e) {
            System.out.println("JaxB having issues!");
          }

        }

    }

問題は、ファイルを作成していないことです。最初のキャッチフレーズ「ファイルが作成されていません」に入り、ファイルシステムで手動で作成してみましたが、次のキャッチフレーズ「JAXBに問題があります」にジャンプします。この理由を教えてもらえますか?JAXBを試しているところです。私はこのリンクのチュートリアルに従っていました:http://www.mkyong.com/java/jaxb-hello-world-example/ ありがとう

4

1 に答える 1

1

アンマーシャリングは、XMLをオブジェクトに変換するプロセスです。JAXB(JSR-222)実装は、ファイルにXMLコンテンツが含まれていることを想定しています。マーシャリングは、オブジェクトからXMLファイルを作成するプロセスであり、おそらくあなたが探しているものです。

于 2013-03-15T10:30:13.240 に答える