【问题标题】:JAXB ordering multiple propertiesJAXB 订购多个属性
【发布时间】:2021-04-01 22:35:47
【问题描述】:

在我的项目中,我想在 XML 中实现特定的属性顺序。在java中对象表示为:

public class Plan {
    private List<Act> act;
    private List<Leg> leg;
    ...

一个输出对象应该类似于这个:

   <plan>
        <act x="-25000" y="0"/>
        <leg mode="car">
              ...
        </leg>

        <act x="10000" y="0"/>
        <leg mode="car">
              ...
        </leg>
    </plan>

JAXB 是否能够为我需要整理物品的情况设置特定的顺序:

   act.get(0)
   leg.get(0)

   act.get(1)
   leg.get(1)
   ...
   ..
   .

我知道 JAXB 能够使用 @XmlType (propOrder={"prop1","prop2",..."propN"}) 保存参数的特定顺序,例如先行动,然后是所有腿会一个接一个地打印出来。

【问题讨论】:

    标签: java jaxb


    【解决方案1】:

    好的,我从不同的角度处理这个问题,我解决了它......之前我认为这是一个排序问题 - 实际上是Java POJO类构造和JAXB注释的问题。

    解决方案是使用

        @XmlElements({
                @XmlElement(name="leg", type=Leg.class),
                @XmlElement(name="act", type=Act.class)
        })
        @XmlElementWrapper(name="plan")
        public List<Plan> getPlan() {
            return plan;
        }
    

    然后项目必须一个接一个地放置。

    更多细节可以在这个答案中找到: Marshalling a List of objects implementing a common interface, with JaxB

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-01
      • 1970-01-01
      • 2013-04-13
      相关资源
      最近更新 更多