Как выбрать значение атрибута 'name', которое является типом класса PriceEventName в следующем случае, FYI, если я поставил над ним @XmlAttribute это превращается в исключение «ошибка @ XmlAttribute/@ XmlValue должна ссылаться на тип Java, который сопоставляется с текстом в XML». Я смотрю тяжело на Интернет, но я не нашел что-то похожее на мой случай.@ XmlAttribute/@ XmlValue необходимо ссылаться на тип Java, который сопоставляется с текстом в XML
PriceEvent class
package somepackage
import ...
import
@XmlAccessorType(XmlAccessType.FIELD)
public class PriceEvent {
@XmlElement(name="Message",namespace="someValue")
private String color;
private PriceEventName name;// this is an attribute
.
.
}
класс PriceEventName
Imports ...
public class PriceEventName {
public static final int PRICEUPDATE_TYPE = 0;
public static final PriceEventName PRICEUPDATE = new PriceEventName(PRICEUPDATE_TYPE, "X-mas");
private static java.util.Hashtable _memberTable = init();
private static java.util.Hashtable init() {
Hashtable members = new Hashtable();
members.put("X-mas", PRICEUPDATE);
return members;
}
private final int type;
private java.lang.String stringValue = null;
public PriceEventName(final int type, final java.lang.String value) {
this.type = type;
this.stringValue = value;
}
public static PriceEventName valueOf(final java.lang.String string) {
java.lang.Object obj = null;
if (string != null) {
obj = _memberTable.get(string);
}
if (obj == null) {
String err = "" + string + " is not a valid PriceEventName";
throw new IllegalArgumentException(err);
}
return (PriceEventName) obj;
}
}
Что является ли определение класса Java для PriceEventName? Атрибуты должны иметь такие типы, как String, int, boolean и т. Д., То есть только то, что может быть записано как атрибут XML. Возможно, вам придется определить адаптер. – laune
@peter здесь мы идем, я добавил определение класса, возможно, мне нужно ваше мнение. – poa
Вам нужно будет использовать адаптер, сопоставляющий строку типа «X-mas» с именем PriceEventName и наоборот. – laune