//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;
}
}