Чтение файла XML с использованием SimpleXML создает исключение Serializer - PullRequest
0 голосов
/ 03 февраля 2011

Я использую SimpleXML, чтобы сохранить простой POJO в файл XML, а затем прочитать его обратно. Я следую этому учебнику. Файл успешно создан, но читающая часть просто не работает. Выдает второе исключение, которое приходит от serializer.read.

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");
}

Есть подсказка?

1 Ответ

0 голосов
/ 03 февраля 2011

Убедитесь, что у вас есть конструктор по умолчанию в Room.

public Room(){
}

В качестве альтернативы, убедитесь, что ваш конструктор выглядит так:

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