簡體   English   中英

JAXB-解組自定義xml引發javax.xml.bind.UnmarshalException

[英]JAXB - Unmarshalling custom xml throws javax.xml.bind.UnmarshalException

我試圖解組一個自定義xml到java對象會引發以下異常。

javax.xml.bind.UnmarshalException:意外元素(uri:“ http://test.neps.com/jrx ”,本地:“ uirx”)。 期望的元素是<{ http://test.neps.com/jrx } person>

xml

<?xml version="1.0" encoding="UTF-8"?>
<jrx:uirx xmlns:jrx="http://test.neps.com/jrx">
  <jrx:person>
    <jrx:ulement name="id" type="Integer" value=""/>
    <jrx:ulement name="name" type="String" value=""/>
    </jrx:person>
    </jrx:uirx>

Java對象,

@XmlRootElement(name = "person", namespace = "http://test.neps.com/jrx")
public class Person {

    private int id;
    private String name;

    @XmlElement
    public void setId(int id) {
        this.id = id;
    }
    @XmlElement
    public void setName(String name) {
        this.name = name;
    }
}

請為此建議一些解決方法。

您的根元素(頂級元素)是<jrx:uirx>而不是<jrs:person> 您需要創建一些內容以映射到該頂級元素。

@XmlRootElement(name = "uirx", namespace = "http://test.neps.com/jrx")
public class Uirx {

    private Person person;

    @XmlElement
    public Person getPerson() {
        return person;
    }

    public void setPerson(Person person) {
        this.person = person;
    }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM