Java 使用JAXB将XML数据解析为字符串对象
我必须在JAXB中将xml解析为字符串对象。但是如何为这个xml创建对象呢 Country.xmlJava 使用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
<?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;
//..
}