我正在尝试解组xml,如下所示。
<findCustomerProfileRequest>
<customer>
<mobileNumber>9999999911</mobileNumber>
</customer>
<dataRecord>
<totalRecords>10</totalRecords>
<pagingSize>10</pagingSize>
<offsetValue>0</offsetValue>
</dataRecord>
</findCustomerProfileRequest>
我有一个班级文件
我想将它绑定到类
public class Customer {
private String mobileNo;
private String totalRecords;
private String pagingSize;
private String offsetValue;
....
getters and setters
....
}
我该怎么办?我是JAXB的新手。有什么建议吗?
提前致谢。
更新
注释后
@XmlRootElement(name = "customer")
///@XmlAccessorType(XmlAccessType.FIELD)
public class Customer {
@XmlElement(name = "mobileNumber", required = true)
private String mobileNumber;
private String totalRecords;
private String pagingSize;
private String offsetValue;
答案 0 :(得分:0)
如何使用正确的XSD然后为实际的XML生成类。生成后,您只需将生成的类的属性复制到特定的类中即可。
答案 1 :(得分:0)
您必须使用JAXB注释
注释您的Customer类e.g。
@XmlRootElement(name = "Customer")
public class Customer {
@XmlElement(name = "mobileNo", required = true)
private String mobileNo;
....
}
正如@Puneetsri所说,如果你有一个xsd文件,你可以使用eclipse生成那些带注释的类。如果您没有它,您可以从XML文件创建该XSD文件,您可以使用许多在线XSD生成器。
如何绑定它们取决于目的...如果您使用的是webservices,或者是宁静的服务,那么JAX-RS和JAX-WS可以自动绑定它。
如果你正在做一个&#34; ad-hoc&#34; unmarshal你可以将xml作为字符串传递给unmarshaller,例如
JAXB.unmarshal(String xml, Class<T> type)