java—如何避免在@xmltype proporder中添加所有字段,以及从父类导入字段

0dxa2lsx  于 2021-07-09  发布在  Java
关注(0)|答案(0)|浏览(213)

我正在尝试使用jaxb注解来整理输入,我面临一些小问题。想确认是否有可能实现
我有两节课 parent 以及 child 每一个都有许多领域。 child 类扩展 parent 班级。
是否可以从中添加元素 parent 班级 child 班级 prepOrder 为了 @XmlType ?
是否有必要将所有元素添加到 propOrder ? 例如,如果我有10个字段,我只想从中排序4个字段。休息可以出现在他们想要的任何顺序。有可能这样做吗?因为当我不添加一个字段时,我就得到了错误。

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Parent",propOrder={"city","year"})
public class Parent{
    private String brand;
    private String city;
    private String year;

    //Getters and Setters avoided
}
@XmlRootElement(name = "Car")
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Child",propOrder={"engine","brand","build"})
public class Child{
    private String engine;
    private String build;

    //Getter and Setters avoided
}
public class Main{
        public static void main(String []args){
        Child child = new Child();
        //Adding values and creating xml using the Marshalling approach
        JAXBContext context = JAXBContext.newInstance(Child.class);
        Marshaller mar = context.createMarshaller();
        mar.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
        mar.marshal(child, System.out);
     }
}

我期待的最后一个xml是:

<?xml version="1.0"?>
<child>
    <cit>Frankfurt</cit>
    <year>2021</year>
    <engine>Mercedes</engine>
    <brand>Ferari</brand>
    <build>Germany</build>
</child>

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题