JAXB用途
1、将Java对象序列化为XML(出处)
2、将XML数据文件解析成一个Java对象(出处)
JAXB的工作原理(该段文字与图片出处)
JAXB映射主要由四个部分组成:schema、 JAXB、 XML文档和Java对象。
对比Hibernate映射来说明这四项的工作原理:
schema可以看作是数据库中的表结构,document(XML文档)是表中的一条条的数据,
而jaxb可以看作是hibernate,他提供schema到java对象的映射,类似于xxx.HBM格式的映射文件。
将XML转换成java对象的过程叫Unmarshal.
而将java对象转换成XML的过程叫Marshal。
JAXB使用具体步骤(该段文字出处)
一、 Java对象 to XML
1. 通过映射的类创建XMLContext上下文对象,其中参数为映射的类。
JAXBContext context = JAXBContext.newInstance(Article.class)
2. 通过JAXBComtext上下文对象的createMarshaller()方法,创建一个对象java格式转化成XML的格式,代码如下
Marshaller m = context.createMarshaller();
3. 最后,将JAVA对象转换到制定的输出位置,其中的article为java对象。
m.marshal(article,xmlFile);
二、 XML to Java对象
1. 通过映射的类创建XMLComtext上下文对象,其中参数为映射的类。
JAXBContext context = JAXBContext.newInstance(Article.class);
2. 通过JAXBContext上下文对象创建createUnmarshaller()方法,创建XML转换成JAVA对象的格式。
Unmarshall m = context.createUnmarshaller();
3. 最后,将XML转换成对映的类,转换后需要强制性转换成映射的类
Article article = (Article)m.unmarshaller(xmlFile);