jaxb xml数据绑定

XML Schema编辑工具:XML Spy

常见的XML绑定技术:
CASTOR
Xml for the view( +XSLT )
JAXB
XStream
XMLBeans
XGen

JAXB(Java Architecture for XML Binding):JAXB被包含在 JAVA SE 1.6中,它是一个业界的标准,是一项可以根据 XML Schema产生Java类的技术。它允许Java开发者把Java类映射到xml。

JAXB提供2个主要的特性marshal、即把java对象打包成xml内容以及unmarshal、即把xml内容解包成java对象。这和DotNet Framework中的xsd.exe和XmlSerializer很象。

使用:
“xjc”工具可以用来将XML模式或其他类型模式文件(Java 1.6试验性地支持RELAX NG,DTD以及WSDL) 转换为Java类。Java类使用javax.xml.bind.annotation包下的Java 标注,例如@XmlRootElement和@XmlElement。XML列表序列表示为java.util.List类型的属性, 通过JAXBContext可以创建Marshallers(将Java对象转换成XML)和Unmarshallers(将XML解析为Java对 象)。
此外,JAXB包括了一个“ schemagen”工具,能够执行“xjc”的反向操作,通过一组标注的Java类创建一个XML模式。

缺省的数据类型绑定:
下面的表格列出了JAXB中 XML Schema (XSD)数据类型和Java数据类型的映射。
  • XML Schema类型 Java数据类型
  • xsd:string java.lang.String
  • 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:time javax.xml.datatype.XMLGregorianCalendar
  • xsd:date javax.xml.datatype.XMLGregorianCalendar
  • xsd:g javax.xml.datatype.XMLGregorianCalendar
  • xsd:anySimpleType java.lang.Object
  • xsd:anySimpleType java.lang.String
  • xsd:duration javax.xml.datatype.Duration
  • xsd:NOTATION javax.xml.namespace.QName

你可能感兴趣的:(JAXB)