2016-08-17 205 views
0

입니다. 그렇기 때문에이 질문과 관련하여 많은 질문이 있습니다. 그러나 아무 답변도 없으므로 올바른 대답을 알려 주셨습니다. 여기 javax.xml.bind.UnmarshalException : 예상치 못한 요소 (uri : "", local : "Managers"). 예상되는 요소는 <{}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> 

그리고 여기에 관련된 자바 클래스입니다 :

@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); 

자바 클래스를 생성하기 위해 wsdl2java를 사용하고, XmlSchema ann을 사용하여 정의 된 네임 스페이스로 package-info.java 클래스를 가진다. 종결.

하지만 여전히 나는 오류를 받고 있어요 :

javax.xml.bind.UnmarshalException: unexpected element (uri:“”, local:“Managers”). Expected elements are <{}Manager> 

어떤 생각 주시면 감사하겠습니다,

사전에 감사!

답변

0

그래, API를 사용하여 최근에 내 XML을 변경 한 것처럼 보일뿐 아니라 wsdl2java를 사용하여 클래스를 다시 생성하더라도 이클립스는이를 이해하는 데 어려움을 겪었다.

난 그냥 모든 것을 청소하고 신선한 수업으로 시작해야했습니다.

"멍청한"질문에 사과드립니다.