使用JAXB,XML被加载到一个类中。然后,该类在另一个类中用于以不同方式编组

时间:2013-02-18 04:41:03

标签: jaxb marshalling unmarshalling

给定一个XML产品文件,然后通过JAXB加载到名为Offerings的类中。

此课程包含以下内容: 名称,价格子类,修饰符,订购规则等。

然后我按照该顺序创建订单

顺序

public class ProductOrder {

    private String OrderId;
    private Date createDate;
    private OrderStatus orderStatus;
    private int CustomerOrderID;
    private ArrayList<ProductOrderItem> productOrderItems = new ArrayList<ProductOrderItem>();
}

订购商品

public class ProductOrderItem {
    private int OrderItemID;
    private **Offering** offering;
    private Map<String, Integer> qtylist = new HashMap<String, Integer>();
    private ArrayList<Modifier> modifiers = new ArrayList<Modifier>();
    private int qty;
}

发售

@XmlRootElement(name = "offering")
@XmlAccessorType(XmlAccessType.FIELD) // NONE) 
public class Offering {    
    @XmlAttribute
    private String id;

    @XmlElement
    private String offeringName;

    @XmlElement
    private String description;

    @XmlElement
    private Integer price;
}

产品和修饰符已经是JAXB的类,我只想推送部分XML。如何更改anotations以便只发送部分元素?例如,不提供 - &gt;改性剂?

1 个答案:

答案 0 :(得分:0)

使用@XmlTransient代替@XmlElement代码。