2016-08-17 21 views
0

です。私はこのような質問がたくさんあることを知っていますが、私には正解はありません。ここでjavax.xml.bind.UnmarshalException:予期しない要素(uri: ""、ローカル: "マネージャ")。期待される要素は<{}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); 

私は」私はwsdl2javaを使ってJavaクラスを生成しています。そして、私はXmlSchema annを使って定義された名前空間を持つpackage-info.javaクラスを持っていますオタゲーション。

しかし、それでもまだ、私はエラーを取得しています:

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

任意のアイデアは、事前に

おかげでいただければ幸いです!

答えて

0

さて、APIを使って私のXMLを最近変更したように見えますが、wsdl2javaを使ってクラスを再生成しても、Eclipseはそれを理解するのに苦労しました。

私はちょうどそれをすべてきれいにし、新しいクラスでそれをやり直さなければなりませんでした。

「ダム」の質問に申し訳ありません!

関連する問題