WebService(2)-XML系列之Java和Xml之间相互转换

快来打我* 2022-08-01 15:47 242阅读 0赞

源码下载:链接: http://pan.baidu.com/s/1ntL1a7R 密码: rwp1

本文主要讲述:使用jaxb完成对象和xml之间的转换

Center

TestJava2xml.java如下所示:

  1. package com.tgb.jaxb.v1;
  2. import java.io.StringReader;
  3. import javax.xml.bind.JAXBContext;
  4. import javax.xml.bind.JAXBException;
  5. import javax.xml.bind.Marshaller;
  6. import javax.xml.bind.Unmarshaller;
  7. import org.junit.Test;
  8. /**
  9. * 通过Java和XML之间相互转换
  10. * @author 赵栗婧
  11. * @version 1.0.0 , 2015年6月25日 下午12:12:16
  12. */
  13. public class TestJava2xml {
  14. // 测试:Java文件转化为Xml文件
  15. @Test
  16. public void testJava2Xml() {
  17. try {
  18. JAXBContext ctx = JAXBContext.newInstance(Student.class);
  19. // 用于Java文件转化为Xml文件的类
  20. Marshaller marshaller = ctx.createMarshaller();
  21. Student student = new Student(1001, "赵栗婧", 20, new Classroom(10,
  22. "10级生命科学与工程", 2010));
  23. marshaller.marshal(student, System.out);
  24. } catch (JAXBException e) {
  25. e.printStackTrace();
  26. }
  27. }
  28. // 测试Xml文件转化为Java文件
  29. @Test
  30. public void testXml2Java() {
  31. String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>"
  32. + "<student>"
  33. + "<age>20</age>"
  34. + "<classroom>"
  35. + "<grade>2010</grade>"
  36. + "<id>10</id>"
  37. + "<name>10级生命科学与工程</name>"
  38. + "</classroom>"
  39. + "<id>1001</id>"
  40. + "<name>赵栗婧</name>"
  41. + "</student>";
  42. try {
  43. JAXBContext ctx = JAXBContext.newInstance(Student.class);
  44. // 用于Xml文件转化为Java文件的类
  45. Unmarshaller um = ctx.createUnmarshaller();
  46. Student student = (Student) um.unmarshal(new StringReader(xml));
  47. System.out.println(student.getName() + ","
  48. + student.getClassroom().getName());
  49. } catch (JAXBException e) {
  50. e.printStackTrace();
  51. }
  52. }
  53. }

发表评论

表情:
评论列表 (有 0 条评论,242人围观)

还没有评论,来说两句吧...

相关阅读