Устранение неоднозначности элементов XStreamAlias ​​с помощью xpath ⇐ JAVA

Программисты JAVA общаются здесь
Anonymous
Устранение неоднозначности элементов XStreamAlias ​​с помощью xpath

Сообщение Anonymous »

Я пытаюсь преобразовать словарь FIX XML в объектную модель с помощью Xstream. Механизм @XStreamAlias ​​работает, однако есть ли способ использовать другой класс Java для элементов XML с тем же именем, но в другой позиции в дереве (другой xpath).
Например, элементы «поле» существуют в /fix/header/field и имеют только два атрибута («имя» и «обязательный»): Но элементы «поля» также существуют в /fix/fields/field и имеют разные атрибуты («число», «имя» и «тип»): Использование класса XStreamAlias ​​с комбинацией всех атрибутов работает, но это не очень красиво — смешивание типов определений полей в одно

Код: Выделить всё

@XStreamAlias("field")
public static class FixFieldInfo
{
@XStreamAsAttribute
public String name;

@XStreamAsAttribute
public String required;

@XStreamAsAttribute
public String number;

@XStreamAsAttribute
public String type;
В идеале я мог бы создать один класс для полей первого типа и другой класс для полей второго типа. Есть ли что-то вроде указания полного xpath внутри аннотации псевдонима?
Например: @XStreamAlias("/fix/header/field") и @XStreamAlias("/fix/fields/field) ") решило бы мою проблему.

Подробнее здесь: https://stackoverflow.com/questions/791 ... ough-xpath

Вернуться в «JAVA»