如何使用jaxb自定义来更改变量类

时间:2014-08-04 14:38:04

标签: jaxb

我试试这个:

<jxb:bindings node="xsd:element[@name='CustomList']">
    <jxb:class name="java.util.List" />
</jxb:bindings>

但生成的类看起来像:

    @XmlElementRef(name = "CustomList", namespace = "urn:org:MyXsd:v1", type = JavaUtilList.class)
    protected JAXBElement<?> customList;

1 个答案:

答案 0 :(得分:0)

此配置需要更改“CustomList”的类名。

如果您想要更改类型,则应使用XMLAdapter

<jxb:javaType name="java.util.Date" printMethod="com.xsd.DateTimeAdapter.printDateTime" parseMethod="com.xsd.DateTimeAdapter.parseDateTime" />

这是DateTime的一个例子......

public class DateTimeAdapter {
    public static Date parseDateTime(String s) {
        return DatatypeConverter.parseDateTime(s).getTime();
    }
    public static String printDateTime(Date dt) {
        Calendar cal = new GregorianCalendar();
        cal.setTime(dt);
        return DatatypeConverter.printDateTime(cal);
    }
}