Значение xml тэга объектного типа с использованием XStream
Использую библиотеку XStream, появилась проблема, решение которой в документации не нашел. Какой XML хочу получить на выходе:
<boolProp name="TestPlan.functional_mode">false</boolProp>
Для этого создаю класс BoolProp:
@Data
@NoArgsConstructor
@AllArgsConstructor
@XStreamAlias("boolProp")
public class BoolProp {
@XStreamAsAttribute
private String name;
}
Все корректно, остается только добавить значение:
@Data
@NoArgsConstructor
@AllArgsConstructor
@XStreamAlias("boolProp")
public class BoolProp {
@XStreamAsAttribute
private String name;
private String value;
}
Вот тут все и ломается, вывод:
<boolProp name="TestPlan.functional_mode">
<value>false</value>
</boolProp>
Подскажите, пожалуйста, как вместо отдельного тэга value сделать value для тэга boolProp.
Заранее спасибо за помощь.
Ответы (1 шт):
Автор решения: tym32167
→ Ссылка
Согласно документации вам нужен аттрибут XStreamConverter
@XStreamAlias("message")
@XStreamConverter(value=ToAttributedValueConverter.class, strings={"content"})
class RendezvousMessage {
@XStreamAlias("type")
private int messageType;
private String content;
@XStreamConverter(value=BooleanConverter.class, booleans={false}, strings={"yes", "no"})
private boolean important;
@XStreamConverter(SingleValueCalendarConverter.class)
private Calendar created = new GregorianCalendar();
public RendezvousMessage(int messageType, boolean important, String content) {
this.messageType = messageType;
this.important = important;
this.content = content;
}
}
Результат
<message type="15" important="no" created="1154097812245">This is the message content.</message>