gpt4 book ai didi

java - JaxB 将多个 XMLType 映射到单个类

转载 作者:太空宇宙 更新时间:2023-11-04 14:47:42 25 4
gpt4 key购买 nike

如何将两个名称不同但内容相同的 XMLType 映射到一个类。从 XSD 生成的模型如下所示。我想介绍一个新的 Person 类,它可以有 XMLType Seller 和 Buyer。

@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 适配器来解决这个问题。但这会导致需要维护 4 个类,而不是现在的 2 个。

有没有办法让我最终只上一个类?

最佳答案

希望这可以帮助

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

}

关于java - JaxB 将多个 XMLType 映射到单个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24201272/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com