2016-08-17 2 views
0

Я знаю, что существует много вопросов, подобных этому, но ни один из них не дает правильного ответа для меня, поэтому я иду.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> 

Любая идея была бы оценена,

Спасибо заранее!

ответ

0

Хорошо, поэтому кажется, что API, который я использую, чтобы изменить свой XML недавно, и даже если я повторно создал классы с помощью wsdl2java, Eclipse с трудом понимал это.

Мне просто нужно было очистить все и начать с него новыми классами.

Извините за «немой» вопрос!

Смежные вопросы