java - JAXB 不为 List 创建 set 方法

标签 java xml web-services jaxb xsd

<分区>

我在 XSD 中有这三种类型:

<xs:element name="Account" type="Account"/>
<xs:element name="Operation" type="Operation"/>
<xs:element name="Transaction" type="Transaction"/>

<xs:complexType name="Operation">
        <xs:sequence>
            <xs:element name="id" type="xs:long"/>
            <xs:element name="type" type="EnumOperationType"/>
            <xs:element name="balance" type="xs:double"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Transaction">
        <xs:sequence>
            <xs:element name="id" type="xs:long"/>
            <xs:element name="type" type="EnumOperationType"/>
            <xs:element name="amount" type="xs:double"/>
            <xs:element name="isCredit" type="xs:boolean"/>
            <xs:element name="isDebit" type="xs:boolean"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Account">
        <xs:sequence>
            <xs:element name="agencyNumber" type="xs:long"/>
            <xs:element name="accountNumber" type="xs:long"/>
            <xs:element name="owner" type="client:Client"/>
            <xs:element name="balance" type="xs:double"/>
            <xs:element maxOccurs="unbounded" ref="Operation"/>
            <xs:element maxOccurs="unbounded" ref="Transaction"/>
        </xs:sequence>
    </xs:complexType>

当我使用 JABX 分别为它们生成 java 对象时,我只获得了前四个字段的 set() 方法:agecy、account、owner 和 balance。

如何在复杂对象中设置列表?我必须以任何方式使用 ObjectFactory 吗?

最好,佩德罗。

最佳答案

您可以对 get 方法返回的内容在 addAll 上执行 add 以设置 List 属性的内容。

关于java - JAXB 不为 List 创建 set 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25676062/

相关文章:

php - 如何使用 PHP 从 Web 服务获取 XML 数据?

Java JAX-WS 网络服务客户端 : how log request & response xml?

java - Selenium Web 驱动程序 日期选择器存在于发送键之后的页面中吗?

java - 为 BufferedImage 的一个区域着色

php - 查找包含多个电子邮件的单元格,并将它们分成不同的表格,所有其他信息都相同

xml - 如何从字符串更新/替换 XElement 的元素?

web-services - WSDL 客户端生成未完成?

java - 如何检查当前是否在 Java 中连接了 Socket?

Java KeyListener.keyPressed 在按住键时多次触发

javascript - 在for循环中多次执行window.location.replace