如何将枚举与 JAXB 一起使用?
How do I use Enums with JAXB?
我想使用 JAXB 将 XML 文件解组为一个对象。
但是,我希望 XML 文件中的一个字段被视为字符串枚举,因为它应该只是三个可能值之一。
现在,我的对象 class 看起来像这样:
@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>
它当然不起作用,但堆栈跟踪长得离谱,而且无论如何都没有信息,所以我不会 post 除非你想要它。
你看到我做错了什么了吗?
正如 @lexicore 所建议的,我应该将 appType 声明为 AppTypes 变量,而不是 Enum。它现在似乎运作良好。 :)
我想使用 JAXB 将 XML 文件解组为一个对象。 但是,我希望 XML 文件中的一个字段被视为字符串枚举,因为它应该只是三个可能值之一。 现在,我的对象 class 看起来像这样:
@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>
它当然不起作用,但堆栈跟踪长得离谱,而且无论如何都没有信息,所以我不会 post 除非你想要它。
你看到我做错了什么了吗?
正如 @lexicore 所建议的,我应该将 appType 声明为 AppTypes 变量,而不是 Enum。它现在似乎运作良好。 :)