Я знаю, что существует много вопросов, подобных этому, но ни один из них не дает правильного ответа для меня, поэтому я иду.javax.xml.bind.UnmarshalException: неожиданный элемент (uri: "", local: "Менеджеры"). Ожидаемые элементы: <{}Manager>
Вот XML я получаю:
<?xml version="1.0" encoding="UTF-8"?>
<Managers>
<Manager ManagerID="1996" />
<Manager ManagerID="1997" />
<Manager ManagerID="1998" />
<Manager ManagerID="1999" />
<Manager ManagerID="2000" />
</Managers>
А вот это класс Java, связанный:
@XmlRootElement(name = "Managers")
@XmlAccessorType(XmlAccessType.FIELD)
public class ManagerList {
@XmlElement(name = "Manager")
private List<Manager> Managers = null;
public List<Manager> getList() {
return Managers;
}
public void setList(List<Manager> Managers) {
this.Managers = Managers;
}
}
И, наконец, вот демаршаллинга часть:
String stringManagers = //Here is the above XML(as String), i get it from an external source
StringReader reader = new StringReader(stringManagers);
JAXBContext context;
Unmarshaller un;
context = JAXBContext.newInstance(ManagerList.class);
un = context.createUnmarshaller();
ManagerList managerList = (ManagerList) un.unmarshal(reader);
I» m используя wsdl2java для генерации классов java, и у меня есть класс package-info.java с пространством имен, определяемым с помощью XmlSchema ann otation.
Но до сих пор я получаю сообщение об ошибке:
javax.xml.bind.UnmarshalException: unexpected element (uri:“”, local:“Managers”). Expected elements are <{}Manager>
Любая идея была бы оценена,
Спасибо заранее!