JAXB: XML绑定的Java体系结构
前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。
用于XML綁定的Java體系結構(JAXB)是一種軟件框架,它允許Java開發人員將Java?類映射到XML表示。JAXB提供了兩個主要特性:將Java?對象編組到XML中的能力,以及將XML反編組回Java對象的能力。換句話說,JAXB允許以任何XML格式存儲和檢索內存中的數據,而無需為程序的類結構實現一組特定的XML加載和保存例程。它類似于和在.NET框架。xsd.exeXmlSerializer
當規范復雜且不斷變化時,JAXB特別有用。在這種情況下,定期更改XML模式定義以使它們與Java定義保持同步可能非常耗時并且容易出錯。
JAXB是Java SE平臺的一部分,也是Java?EE平臺中的API之一,并且是Java Web服務開發包(JWSDP)的一部分。這也是WSIT的基礎之一。
JAXB 1.0是在Java社區過程下作為JSR 31?開發的。[1]?2006年,JAXB 2.0在2009年12月發布的JSR 222和維護版本2下發布。[2]?這些規范的參考實現可在CDDL開源許可證在java.net。
?
?
可以使用工具“?xjc?”將XML Schema和其他模式文件類型(從Java 1.6起,RELAX NG,XML?DTD和WSDL在實驗中支持)轉換為類表示。[3]類被加上標記后使用注解從javax.xml.bind.annotation。*命名空間,例如,@XmlRootElement和@XmlElement。XML列表序列由java.util.List類型的屬性表示。Marshalers和Unmarshallers是通過JAXBContext的一個實例創建的。
另外,JAXB包含一個“?schemagen?”工具,它本質上可以執行“?xjc?”?的逆操作,從一組注釋類創建一個XML模式。
?
?
?
下表列出了JAXB?中XML Schema(XSD)數據類型與Java數據類型的映射。
?
| xsd:string | java.lang.String | 
| xsd:integer | java.math.BigInteger | 
| xsd:positiveInteger | java.math.BigInteger | 
| xsd:int | int | 
| xsd:long | long | 
| xsd:short | short | 
| xsd:decimal | java.math.BigDecimal | 
| xsd:float | float | 
| xsd:double | double | 
| xsd:boolean | boolean | 
| xsd:byte | byte | 
| xsd:QName | javax.xml.namespace.QName | 
| xsd:dateTime | javax.xml.datatype.XMLGregorianCalendar | 
| xsd:base64Binary | byte[] | 
| xsd:hexBinary | byte[] | 
| xsd:unsignedInt | long | 
| xsd:unsignedShort | int | 
| xsd:unsignedByte | short | 
| xsd:unsignedLong | java.math.BigDecimal | 
| xsd:time | javax.xml.datatype.XMLGregorianCalendar | 
| xsd:date | javax.xml.datatype.XMLGregorianCalendar | 
| xsd:g | javax.xml.datatype.XMLGregorianCalendar | 
| xsd:anySimpleType[5] | java.lang.Object | 
| xsd:anySimpleType[6] | java.lang.String | 
| xsd:duration | javax.xml.datatype.Duration | 
| xsd:NOTATION | javax.xml.namespace.QName | 
?
?
原文見 :?https://en.wikipedia.org/wiki/Java_Architecture_for_XML_Binding
?
總結
以上是生活随笔為你收集整理的JAXB: XML绑定的Java体系结构的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: ExecutionException异常
- 下一篇: Ajax处理函数模板
