Я встретив новый вопрос в моем JAXB немаршалингаJAXB Демаршаллизация не демаршаллизации вложенного списка
Учитывая эту строку в качестве входных данных
<ruleGroup id="1602" name="TestObject">
<simple column="simple" type="value" operator="equals" value="1" not="true"/>
</ruleGroup>
Класс не анализирует вложенный элемент списка, только нормальные атрибуты (представленные как JSON):
В чем проблема? Мои классы:
@XmlRootElement(name = "ruleGroup")
public class RuleGroup {
@XmlAttribute(name = "id")
public Long id;
@XmlAttribute(name = "name")
public String name;
@XmlElement(name = "simple")
public List<SimpleXML> simple;
}
и
public class SimpleXML {
@XmlAttribute(name = "column")
public String column = null;
@XmlAttribute(name = "type")
public String type = null;
@XmlAttribute(name = "operator")
public String operator = null;
@XmlAttribute(name = "value")
public String value = null;
@XmlAttribute(name = "not")
}
Мой демаршаллинга является довольно стандартным:
RuleGroup rule;
JAXBContext jaxbContext = JAXBContext.newInstance(RuleGroup.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
StringReader reader = new StringReader(test);
JAXBElement<RuleGroup> root = jaxbUnmarshaller.unmarshal(new StreamSource(reader), RuleGroup.class);
rule = (RuleGroup) root.getValue();
Так что я не знаю, что может быть проблемой. Любые идеи о том, что я делаю неправильно?