Java 使用JAXB将XML数据解析为字符串对象

Java 使用JAXB将XML数据解析为字符串对象,java,xml,parsing,jaxb,Java,Xml,Parsing,Jaxb,我必须在JAXB中将xml解析为字符串对象。但是如何为这个xml创建对象呢 Country.xml <?xml version="1.0" encoding="UTF-8"?> <Country> <name>India</name> <capital>New Delhi</capital> <population>120crores

我必须在JAXB中将xml解析为字符串对象。但是如何为这个xml创建对象呢

Country.xml

    <?xml version="1.0" encoding="UTF-8"?> 
    <Country>       
        <name>India</name>
        <capital>New Delhi</capital>
        <population>120crores</population>
    .
    .
    .
    .
    .

<states>
    <state>
        <name>Maharastra</name>
        <pincode>xyzzzz</pincode>
        <capital>Mumbai</capital>

    <\state>

    <state>
    .
    .
    .
    </state>
</states>


   <\Country>       
当我运行程序时,我得到了

com.sun.xml.internal.bind.v2.runtime.illegalannotations异常: IllegalAnnotationException的计数

如何添加包装器选项,将元素包装在单独的标题下,并将标题包装在其他标题中。

试试这个类

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "name",
    "capital",
    "population",
    "states"
})
@XmlRootElement(name = "Country")
public class Country {
@XmlElement(required = true)
protected String name;
@XmlElement(required = true)
protected String capital;
@XmlElement(required = true)
protected String population;
@XmlElement(required = true)
protected Country.States states;
    public String getName() {
        return name;
    }
    public void setName(String value) {
        this.name = value;
    }
    public String getCapital() {
        return capital;
    }
    public void setCapital(String value) {
        this.capital = value;
    }
    public String getPopulation() {
        return population;
    }
    public void setPopulation(String value) {
        this.population = value;
    }
    public Country.States getStates() {
        return states;
    }
    public void setStates(Country.States value) {
        this.states = value;
    }
这对我有用

class Country {
    @XmlElement
    String name;
    //...
    @XmlElementWrapper(name="states")
    List<State> state;
}

class State {
    @XmlElement
    String name;
    //..
}
国家级{
@XmlElement
字符串名;
//...
@XmlElementWrapper(name=“states”)
列表状态;
}
阶级国家{
@XmlElement
字符串名;
//..
}
class Country {
    @XmlElement
    String name;
    //...
    @XmlElementWrapper(name="states")
    List<State> state;
}

class State {
    @XmlElement
    String name;
    //..
}