是否可以使用EclipseLink MOXy将相同的元素读入两个不同的Java属性?
在下面的示例中,我将<publication>
文档映射为一个类,将<date>
元素映射为Java类,其中XmlAdapter
属于我的属性出版物。我还想将year
元素设置为Publication类的单独的属性,以及复合{{1>的一部分我已经成功了。但是,当我在XML绑定中设置它时,仅年份总是为空,但日期会正确填充。
Date
答案 0 :(得分:2)
目前EclipseLink JAXB (MOXy)不支持XPath,用于将一个类属性映射到映射到另一个类的XML文档部分。您可以利用afterUnmarshal
事件从date对象中提取年份并将其设置在发布对象上。
package forum13122968;
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class Publication {
Date date;
int year;
private void afterUnmarshal(Unmarshaller unmarshaller, Object parent) {
year = date.getYear();
}
}