2011-02-03 14 views
0

シンプルXMLを使用して単純なPOJOをXMLファイルに保存し、それを読み戻します。私はthisチュートリアルに従います。ファイルは正常に作成されましたが、読み込み部分は単に機能していません。 serializer.readから来る2番目の例外がスローされます。SimpleXMLを使用してXMLファイルを読み込むシリアライザ例外をスローする

Room room = new Room("1"); 

Serializer serializer = new Persister(); 
try { 
    File ff = new File("room.xml"); 
    serializer.write(room, ff); 
} catch (FileNotFoundException e) { 
    System.out.println("FileNotFoundException\n"); 
} catch (Exception e) { 
    System.out.println("Exception from serializer.write\n"); 
} 

try { 
    File ffi = new File("room.xml"); 
    Room aroom = serializer.read(Room.class, ffi); 
    System.out.println("RoomName: " + aroom.getRid() + "\n"); 
} catch (FileNotFoundException e) { 
    System.out.println("FileNotFoundException\n"); 
} catch (Exception e) { 
    System.out.println("Exception from serializer.read\n"); 
} 

任意のヒント?

+0

と例外がありますか..? –

+2

例外のメッセージと例外の種類を指定せずに例外がスローされた理由を検出するようにお願いします。 "System.out ... e"を "e.printStackTrace()"で置き換えて、それが生成するスタックトレース、または少なくともその開始点を教えてください。 –

+0

また、ルームのソースとルームの内容が役に立つでしょう。 xml – Mark

答えて

0

デフォルトコンストラクタがRoomにあることを確認してください。また

public Room(){ 
} 

、あなたのコンストラクタは次のようになりますことを確認してください。

public Room(@Attribute(name="rid") String rid){ 
    this.rid = rid; 
} 
+0

はい、それは自分自身を見つけました。デフォルトのコンストラクタはありません。私のクラスで。 – springrolls

関連する問題