public class XmlBin {
public static void main(String [] args) throws IOException{
// File sw = new File("E:\\test.xml");
StringWriter sw = new StringWriter();
JAXBContext context ; //声明JAXBContext上下文对象
try{ //通过指定的类创建上下文对象
context= JAXBContext.newInstance(Article.class);
Marshaller marshaller =context.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
Article article = new Article();
List<Article>list = new ArrayList<Article>();
for(int i = 0;i < 3;i++){
Article article1 = new Article();
article1.setAuthor("Jerry"+i);
article1.setDate("2014-9-21");
article1.setEmail("Jerry@yahoo.com");
article1.setTitle("XML概述");
list.add(article1);
}
article.setArticle(list);
marshaller.marshal(article,sw);
System.out.println(sw);
//将Java对象转换成xml文件
// marshaller.marshal(list,sw);
context =JAXBContext.newInstance(Article.class);
Unmarshaller unmarshaller = context.createUnmarshaller();
String xml = sw.toString();
int index = xml.indexOf("\n");
xml = xml.substring(index);
xml ="<?xml version=\"1.0\" encoding=\"gbk\"?>" + xml;
InputStream is = new ByteArrayInputStream(xml.getBytes());
Article article1= (Article)unmarshaller.unmarshal(is);
System.out.println(article1);
}catch(JAXBException e){
e.printStackTrace();
}
}
}