java - JAXB 能否将字符串解码为日期属性

标签 java xml jaxb

我有一个以下格式的 xml 标签:

<DOB>19801213</DOB>

如何将此 xml 标记解码到日期变量中?

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

当我尝试获取 dob 时,它返回 null。

最佳答案

您必须使用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;

关于java - JAXB 能否将字符串解码为日期属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34062531/

相关文章:

java - LibGDX 不断给我这个错误 : "ERROR BAD LOGIC GAMES", 我该如何解决这个问题?

python - 选择xpath中注释的所有兄弟(包括文本)

java - 使用JAXB解析java XML

java - 具有 JSON 表示语法的 WADL

java - 测试 Jersey REST 资源(无效返回响应)

java - Spring启动性能问题

java - 为什么我不能将十六进制值放入 java 中的字节数组?

android - 在 Android 2.1 上支持我的 Android 2.2 应用程序

xml - 如何使用 JAXB 和 Spring 编码非字符串对象

java - 用于 XML 序列化的持久 BO