Сегодня я столкнулся со странным поведением XStream. Итак, XML:
<AddressObjectType KOD_T_ST="0" LEVEL="0" SOCRNAME="blabla"/>
Класс Java:
@XStreamAlias("AddressObjectType")
public class AddressObjectType {
@XStreamAsAttribute
@XStreamAlias("KOD_T_ST")
private Integer id;
@XStreamAsAttribute
@XStreamAlias("SOCRNAME")
private String name;
@XStreamAsAttribute
@XStreamAlias("SCNAME")
private String shortName;
@XStreamAsAttribute
@XStreamAlias("LEVEL")
private int level;
// . . . getters, setters
}
У меня проблема только с атрибутом KOD_T_ST
. Во время десериализации всегда выдает com.thoughtworks.xstream.converters.ConversionException
, а причина - NullPointerException
. Значение атрибута всегда null
. Даже я переключаю тип с Integer
на String
.
Что здесь происходит? Есть ли в XStream какие-либо ограничения для псевдонимов? Как прочитать значение?
XStream версия 1.4.11.1.
Большое спасибо за вашу помощь и наилучшие пожелания.