JAXB: XML绑定的Java体系结构
前些天發(fā)現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。
用于XML綁定的Java體系結構(JAXB)是一種軟件框架,它允許Java開發(fā)人員將Java?類映射到XML表示。JAXB提供了兩個主要特性:將Java?對象編組到XML中的能力,以及將XML反編組回Java對象的能力。換句話說,JAXB允許以任何XML格式存儲和檢索內存中的數據,而無需為程序的類結構實現一組特定的XML加載和保存例程。它類似于和在.NET框架。xsd.exeXmlSerializer
當規(guī)范復雜且不斷變化時,JAXB特別有用。在這種情況下,定期更改XML模式定義以使它們與Java定義保持同步可能非常耗時并且容易出錯。
JAXB是Java SE平臺的一部分,也是Java?EE平臺中的API之一,并且是Java Web服務開發(fā)包(JWSDP)的一部分。這也是WSIT的基礎之一。
JAXB 1.0是在Java社區(qū)過程下作為JSR 31?開發(fā)的。[1]?2006年,JAXB 2.0在2009年12月發(fā)布的JSR 222和維護版本2下發(fā)布。[2]?這些規(guī)范的參考實現可在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的一個實例創(chuàng)建的。
另外,JAXB包含一個“?schemagen?”工具,它本質上可以執(zhí)行“?xjc?”?的逆操作,從一組注釋類創(chuàng)建一個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异常
- 下一篇: .NET 和 JAVA