使用jaxb将属性转换为java对象的xml
我有一个如下所示的xml:使用jaxb将属性转换为java对象的xml,java,xml,jaxb,Java,Xml,Jaxb,我有一个如下所示的xml: <response> <adminArea5 type="City">Rochester</adminArea5> <adminArea3 type="State">NY</adminArea3> <adminArea4 type="County">Monroe County</adminArea4> <adminArea
<response>
<adminArea5 type="City">Rochester</adminArea5>
<adminArea3 type="State">NY</adminArea3>
<adminArea4 type="County">Monroe County</adminArea4>
<adminArea1 type="Country">US</adminArea1>
</response>
我使用“JAXB.unmarshal(新StringReader(xml),targetClass)”将xml解析为java对象。
但这些字段在解析xml后为空。任何帮助都将不胜感激。更新您的Java类,如下所示
@XmlRootElement(name = "response")
@XmlAccessorType(XmlAccessType.PROPERTY)
public class Response {
private String street;
@XmlElement(name = "adminArea5")
private String city;
@XmlElement(name = "adminArea3")
private String state;
@XmlElement(name = "adminArea4")
private String county;
@XmlElement(name = "adminArea1")
private String country;
@Override
public String toString() {
return "Response{" +
"street='" + street + '\'' +
", city='" + city + '\'' +
", state='" + state + '\'' +
", county='" + county + '\'' +
", country='" + country + '\'' +
'}';
}
}
还要检查XmlElement和XmlAttribute之间的差异,如下更新Java类
@XmlRootElement(name = "response")
@XmlAccessorType(XmlAccessType.PROPERTY)
public class Response {
private String street;
@XmlElement(name = "adminArea5")
private String city;
@XmlElement(name = "adminArea3")
private String state;
@XmlElement(name = "adminArea4")
private String county;
@XmlElement(name = "adminArea1")
private String country;
@Override
public String toString() {
return "Response{" +
"street='" + street + '\'' +
", city='" + city + '\'' +
", state='" + state + '\'' +
", county='" + county + '\'' +
", country='" + country + '\'' +
'}';
}
}
还要检查XmlElement和XmlAttribute之间的差异在项目中创建一个XML文件,右键单击该XML文件并生成一个模式,然后生成java类。在项目中创建一个XML文件,右键单击该XML文件并生成一个模式,然后生成java类。属性
类型如何
?属性类型如何
?