Java 使用jaxb绑定xml和不匹配的类

Java 使用jaxb绑定xml和不匹配的类,java,jaxb,Java,Jaxb,我正在尝试解组一个xml,如下所示 <findCustomerProfileRequest> <customer> <mobileNumber>9999999911</mobileNumber> </customer> <dataRecord> <totalRecords>10</totalRecords> <pagingS

我正在尝试解组一个xml,如下所示

<findCustomerProfileRequest>
    <customer>
        <mobileNumber>9999999911</mobileNumber>
    </customer>
    <dataRecord>
        <totalRecords>10</totalRecords>
        <pagingSize>10</pagingSize>
        <offsetValue>0</offsetValue>
    </dataRecord>
</findCustomerProfileRequest>
我怎样才能做到这一点。我是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;

使用适当的XSD,然后为实际的XML生成类怎么样。一旦生成,您就可以简单地将生成的类的属性复制到您的特定类中。

您必须使用JAXB注释来注释您的客户类

e、 g

正如@Puneetsri所说的,如果您有一个xsd文件,您可以使用eclipse生成这些带注释的类。如果没有,可以从XML文件创建XSD文件,可以使用许多在线XSD生成器

如何绑定它们取决于目的。。。如果您使用的是webservices或restful服务,那么JAX-RS和JAX-WS可以自动绑定它

如果您正在执行“临时”解组,您可以将xml作为字符串传递给解组器,例如

JAXB.unmarshal(String xml, Class<T> type)
JAXB.unmarshal(字符串xml,类类型)

xml是第三方xml,这只是其中之一。是的,他们没有为他们提供xsd。如果有xml,为什么不生成自己的xsd呢?一旦你有了xsd,你就可以自己生成代码了。如果您也使用maven,那么有一个方便的插件可以执行此操作,提供一个错误
com.sun.xml.bind.v2.runtime.IllegalAnnotationsException:1个illegalannotationException计数。您可以粘贴带注释的类吗。。。似乎在使用注释时出现了一些错误。看到您对注释类的更新,我确认注释不正确。我强烈建议您获取XSD文件并自动生成JAXB实体(例如,从eclipse)。您可以使用在线XSD生成器(或任何其他方法)从XML文件获取XSD文件。。。以下是一种可能的解决方案:
@XmlRootElement(name = "Customer")
public class Customer {
    @XmlElement(name = "mobileNo", required = true)
    private String mobileNo;
    ....
}
JAXB.unmarshal(String xml, Class<T> type)