Android, simplexml serial.read из пустого файла горе - PullRequest
0 голосов
/ 18 мая 2011

Следуя предложениям на этом сайте, я принял SimpleXML от org.simpleframework.xml. Я использую этот код для десериализации моего класса из файла на диске:

      try {
            myPoints = serial.read(Points.class, new File(getFilesDir(), "points.xml"));
            Log.i(TAG, "Number of Points: " + myPoints.getSize());
        } catch (FileNotFoundException e) {
            Log.d(TAG, "No data found!");
        } catch (Exception e) {
            Log.d(TAG, "Uncaught exception: ", e.getMessage());
        }

В случае, если содержимое файла "points.xml" не является допустимым xml (в моем случае это пустой файл), serial.read прерывается (исключение происходит в Persister.class, извините, у меня нет источников simplexml ...). Должен ли я заранее проверить соответствие XML? Кто-нибудь может помочь?

1 Ответ

1 голос
/ 18 мая 2011

Нет необходимости предварительно проверять, так как вы не сможете решить проблему.Просто убедитесь, что он завершается неудачно (как, по-видимому, и делает ваш код).

Однако вы можете захотеть проверить, пуст файл или нет в случае ошибки десериализации.Пустой файл, скорее всего, не является проблемой, если файл XML искажен!

...