如何在JAXB中使用Enums?

时间:2015-03-19 14:34:16

标签: xml java-ee enums jaxb unmarshalling

我想使用JAXB将XML文件解组为对象。 但是,我希望将XML文件中的一个字段视为String Enum,因为它应该只是三个可能值之一。 现在,我的对象类看起来像这样:

@XmlRootElement(name="webApp")
public class WebApp {

  @XmlEnum(String.class)
  public enum AppTypes {
    Typeone, Typetwo, Typethree
  }

  @XmlElement(name="AppType")
  Enum<AppTypes> appType;

}

我要解组的XML文件如下所示:

<webApp>
  <AppType>Typeone</AppType>
</webApp>

它当然没有用,但是堆栈跟踪是漫长的,而且无论如何都没有信息,所以除非你想要它,否则我不会发布它。
你看到我做错了吗?

1 个答案:

答案 0 :(得分:1)

正如@lexicore建议的那样,我应该将appType声明为AppTypes变量,而不是Enum。它似乎现在运作良好。 :)