JAXB Annotation - 属性保持List / String作为值

时间:2014-11-18 20:06:19

标签: jaxb

我有以下结构

  public static class Param implements Serializable
  {

        @XmlValue
        protected Object value;

        @XmlAttribute(name = "name")
        protected String name;
   }

这里属性"价值"类型"对象"有时会持有String并且有时会持有一个List,所以当值传递的是一个字符串时,Marshall和unMarshall工作正常,但是当值是一个列表时,马歇尔失败了,你能告诉我这是什么问题吗?

1 个答案:

答案 0 :(得分:0)

我会将字段/属性设为List<String>,然后您的String只是List的大小为1。

   @XmlValue
   protected List<String> value;

更新

  

实际上,列表可以是任何对象的列表,而不仅仅是列表od   字符串,例如List

然后您将需要执行以下操作:

   @XmlMixed
   protected List<Object> value;

有关其他信息,请参阅以下相关问题: