EclipseLink动态MOXy访问枚举值

我正在使用下面列出的XSD和相应的XML。 一切都适用于动态MOXy,但我不知道如何访问java中的枚举类型。 有什么建议么? 感谢帮助。

                    //JAVA code DynamicEntity person = (DynamicEntity) dynamicJAXBContext.createUnmarshaller().unmarshal(instanceDoc); String firstName = person.get("firstName"); String lastName = person.get("lastName"); //until here it works well //but now: how to get and set the value of the "quadrant"? // following lines do not work String quadrant=person.get("quadrant); person.set("quadrant","NORTH"); 

要使用枚举值进行set()操作,首先需要使用DynamicJAXBContext.getEnumConstant()查找枚举常量,然后将其用于集合。 例如:

 Object NORTH = ctx.getEnumConstant("your.package.CompassDirection", "NORTH"); person.set("quadrant", NORTH); 

要获取该值,您将调用正确的代码,但返回的值将不是String,它将是与该String关联的实际枚举值Object。 你应该使用:

 Object quadrant = person.get("quadrant"); 

希望这可以帮助,

干草堆