JAXB简记
JAXB 2.0是JDK 1.6的組成部分。JAXB 2.2.3是JDK 1.7的組成部分。
JDK中JAXB相關的重要Class和Interface:
JAXBContext類,是應用的入口,用于管理XML/Java綁定信息。 Marshaller接口,將Java對象序列化為XML數據。 Unmarshaller接口,將XML數據反序列化為Java對象。JDK中JAXB相關的重要Annotation:
@XmlType,將Java類或枚舉類型映射到XML模式類型 @XmlAccessorType(XmlAccessType.FIELD) ,控制字段或屬性的序列化。FIELD表示JAXB將自動綁定Java類中的每個非靜態的(static)、非瞬態的(由@XmlTransient標注)字段到XML。其他值還有XmlAccessType.PROPERTY和XmlAccessType.NONE。 @XmlAccessorOrder,控制JAXB 綁定類中屬性和字段的排序。 @XmlJavaTypeAdapter,使用定制的適配器(即擴展抽象類XmlAdapter并覆蓋marshal()和unmarshal()方法),以序列化Java類為XML。 @XmlElementWrapper ,對于數組或集合(即包含多個元素的成員變量),生成一個包裝該數組或集合的XML元素(稱為包裝器)。 @XmlRootElement,將Java類或枚舉類型映射到XML元素。 @XmlElement,將Java類的一個屬性映射到與屬性同名的一個XML元素。 @XmlAttribute,將Java類的一個屬性映射到與屬性同名的一個XML屬性。其他:
對于要序列化(marshal)為XML的Java類,絕不能把成員變量聲明為public,否則運行將拋出異常com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException。 對于JAXB相關的重要Annotation的聲明,如@Xml.....,可以放在成員變量的setter()或getter()方法上,兩者中任選其一即可,但決不能放在成員變量上,否則運行將拋出異常com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException。轉載于:https://www.cnblogs.com/lijc1990/archive/2013/03/09/2952096.html
總結
- 上一篇: 不同dll相同Type.FullName
- 下一篇: vtk类之vtkFixedPointVo