JAXB 可以将字符串解组为日期属性吗

Can JAXB unmarshal a string into a date attribute

我有一个 xml 标签,格式如下:

<DOB>19801213</DOB>

如何将此 xml 标记解组为日期变量?

@XmlElement (name = "DOB")
private Date dob

当我尝试获取它时 return 我为空。

您必须使用 XmlAdapter

import java.util.Date;

import javax.xml.bind.annotation.adapters.XmlAdapter;

public class DateAdapter extends XmlAdapter<String, Date> {

    @Override
    public String marshal(Date v) throws Exception {
        return .. ;
    }

    @Override
    public Date unmarshal(String v) throws Exception {
        return .. ;
    }

}

并且您必须在您的属性上添加 @XmlJavaTypeAdapter

@XmlJavaTypeAdapter(DateAdapter.class)
@XmlElement (name = "DOB")
private Date dob;