2013-12-04 3 views
1

В некотором старом XML все еще есть имя канонического класса. Новый XML имеет простое имя.XStream - другой псевдоним для маршала/без маршала?

Я хочу, чтобы иметь возможность читать оба формата, но убедитесь, что, когда я маршал, я получаю простые имена. Я пробовал использовать ...

xstream.alias("package.name.className", Clazz.class); 
xstream.alias("className", Clazz.class); 

unmarshalling отлично работает, но сортировка смешана. Для некоторых классов я получаю простое имя, другие - каноническое.

Любая идея, как достичь этого с помощью того же экземпляра xstream?

ответ

0

Красивым способом было бы написать пользовательский конвертер для вашего класса.

Другим способом является один экземпляр xstream для разборки с использованием обоих псевдонимов и другого экземпляра xstream для сортировки только с псевдонимом, который вы хотите.

+1

У меня уже есть 2 экземпляра, поэтому мой вопрос об использовании 1 экземпляра. Мне не нравится перспектива пользовательского конвертера, к большому количеству хлопот! Я надеялся, что есть способ сделать алиасы осведомленными о порядке. – TedTrippin

Смежные вопросы