jAXB学习 (二)类型绑定
上面一节简单介绍了怎么入门JAXB,这节介绍怎么自定义绑定类型。
?
?
?
JAXB会有一些默认的类型匹配,以下是一张匹配表:
?
?
<bindings xmlns="http://java.sun.com/xml/ns/jaxb" version="2.0" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <globalBindings> <javaType name="java.util.Calendar" xmlType="xs:date" parseMethod="javax.xml.bind.DatatypeConverter.parseDate" printMethod="javax.xml.bind.DatatypeConverter.printDate" /> </globalBindings></bindings>?
? 这里你需要行在src下定义一个com.liulutu.jaxb.DateAadpter类,并提供printDate和parseDate方法。如下:<bindings xmlns="http://java.sun.com/xml/ns/jaxb" version="2.0" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <globalBindings> <javaType name="java.util.Date" xmlType="xs:date" parseMethod="com.liulutu.jaxb.DateAadpter.parseDate" printMethod="com.liulutu.jaxb.DateAdapter.printDate" /> </globalBindings></binding> ? ? xjc.bat?students.xsd?-d?src?-p?com.liulutu.student.model?-b?bindings.xml ? ? ? ? ? ? ? ? ?<bindings xmlns="http://java.sun.com/xml/ns/jaxb" version="2.0" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <globalBindings> <javaType name="java.util.Date" xmlType="xs:date" parseMethod="com.liulutu.jaxb.DateAadpter.parseDate" printMethod="com.liulutu.jaxb.DateAdapter.printDate" /> </globalBindings></binding>