JAXB Не может разобрать свойства сложного типа
Я работаю с сервисом поиска eBay, и все отлично работает, кроме парсинга unitPrice. Здесь сказано:
eBay использует UnitType и UnitQuantity
Так что в моем UnitPriceInfo.java у меня есть это:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "UnitPriceInfo", propOrder = { "type", "quantity", "any" })
public class UnitPriceInfo
{
@XmlElement(name = "UnitType")
protected String type;
@XmlElement(name = "UnitQuantity")
protected Double quantity;
@XmlAnyElement(lax = true)
protected List<Object> any;
Но до сих пор, UnitPriceInfo
объекты создаются, но у них всегда есть поля типа и количества, равные нулю.
Нужно ли менять тип с String и Double на UnitType
а также UnitQuantity
? Если нет, то в чем проблема?
2 ответа
Решение
Элементы названы type
а также quantity
, как это:
<unitPrice>
<quantity> double </quantity>
<type> string </type>
</unitPrice>
Вы должны изменить свои аннотации на @XmlElement(name="type")
а также @XmlElement(name="quantity")
,
Вы можете изменить имя класса с UnitPriceInfo на "unitPrice" ИЛИ дать аннотированное имя "unitPrice" для имени класса.