如何将两个名称相同但内容相同的XMLType映射到一个signle类。 从XSD生成的模型如下所示。我想介绍一个可以拥有XMLType卖家和买家的新类人员。
@XmlType(name = "Seller")
public class Seller {
private Sting name;
private Adress adress;
....
@XmlType(name = "Buyer")
public class Buyer {
private Sting name;
private Adress adress;
....
这就是我的xsd在使用时的样子:
<xs:complexType name="Business">
<xs:sequence>
<xs:element name="vendor" type="ram:Seller" form="unqualified" minOccurs="0"/>
<xs:element name="customer" type="ram:Buyer" form="unqualified" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
,定义看起来像这样。
<xs:complexType name="Seller">
<xs:sequence>
<xs:element name="name" type="udt:SType" form="unqualified" minOccurs="0"/>
<xs:element name="address" type="udt:SType" form="unqualified" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
我想通过使用XML Adapter可以解决这个问题。但它会导致维持4个类而不是现在的2个类。
有没有办法让我最终只有一个班级?
答案 0 :(得分:0)
希望这可能会有所帮助
public class Person {
private String name;
private Address address;
//getters & setters
}
和
@XmlAccessorType(XmlAccessType.FIELD)
public class Business {
@XmlElement(name="buyer")
private Person buyer;
@XmlElement(name="seller")
private Person seller;
//getters & setters
}