//package com.helloweenvsfei.xml;
import java.io.File;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.Marshaller;
import javax.xml.bind.annotation.XmlRootElement;
public class JAXBDemo {
 public static void main(String[] args) {
  // 创建xml文档对象,其保存在d盘
  File xmlFile = new File("d:\\javasource\\xml\\test.xml");
  //声明JAXBContext上下文对象
  JAXBContext context;
  try {
   //通过指定映射的类创建上下文
   context = JAXBContext.newInstance(Article.class);
  //通过上下文创建java转化xml的对象Marshaller
  Marshaller m = context.createMarshaller();
  //创建xml中的数据
  Article article = new Article();
  article.setAuthor("Janet");
  article.setDate("20080801");
  article.setEmail("janetvsfei@yahoo.com.cn");
  article.setTitle("XML");
  //将java对象转化到xml
  m.marshal(article, xmlFile);
  
   //通过上下文创建xml转化java的对象Unmarshaller
//   Unmarshaller u = context.createUnmarshaller();
//   Article article = (Article)u.unmarshal(xmlFile);
//   System.out.println(article.getAuthor());
//   System.out.println(article.getDate());
//   System.out.println(article.getEmail());
//   System.out.println(article.getTitle());
  } catch (JAXBException e) {
   e.printStackTrace();
  }
 }
}
@XmlRootElement
 class Article {
 private String title;
 private String author;
 private String email;
 private String date;
 public String getTitle() {
  return title;
 }
 public void setTitle(String title) {
  this.title = title;
 }
 public String getAuthor() {
  return author;
 }
 public void setAuthor(String author) {
  this.author = author;
 }
 public String getEmail() {
  return email;
 }
 public void setEmail(String email) {
  this.email = email;
 }
 public String getDate() {
  return date;
 }
 public void setDate(String date) {
  this.date = date;
 }
}