博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【WebService】使用jaxb完成对象和xml的转换
阅读量:6625 次
发布时间:2019-06-25

本文共 3583 字,大约阅读时间需要 11 分钟。

1 package com.slp.jxmarshaller; 2  3 /** 4  * Created by sanglp on 2017/2/26. 5  */ 6 public class ClassName { 7     private int id; 8     private String name; 9     private int grade;10 11     public ClassName() {12     }13 14     public ClassName(int id, String name, int grade) {15         this.id = id;16         this.name = name;17         this.grade = grade;18     }19 20     public int getId() {21         return id;22     }23 24     public void setId(int id) {25         this.id = id;26     }27 28     public String getName() {29         return name;30     }31 32     public void setName(String name) {33         this.name = name;34     }35 36     public int getGrade() {37         return grade;38     }39 40     public void setGrade(int grade) {41         this.grade = grade;42     }43 }
package com.slp.jxmarshaller;import javax.xml.bind.annotation.XmlRootElement;/** * Created by sanglp on 2017/2/26. * [com.sun.istack.internal.SAXException2: 由于类型 "com.slp.jxmarshaller.Student" 缺少 @XmlRootElement 注释, 无法将该类型编集为元素] */@XmlRootElementpublic class Student {    private int id;    private String name;    private int age;    private ClassName className;    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }    public ClassName getClassName() {        return className;    }    public void setClassName(ClassName className) {        this.className = className;    }    public Student(int id, String name, int age, ClassName className) {        this.id = id;        this.name = name;        this.age = age;        this.className = className;    }    public Student() {    }}
1 package com.slp.jxmarshaller; 2  3 import org.junit.Test; 4  5 import javax.xml.bind.JAXBContext; 6 import javax.xml.bind.JAXBException; 7 import javax.xml.bind.Marshaller; 8 import javax.xml.bind.Unmarshaller; 9 import java.io.StringReader;10 11 /**12  * Created by sanglp on 2017/2/26.13  */14 public class TestJaxb {15 16     /**17      * 输出结果18      * 
21
2010
1
10数学
1
张三
19 */20 @Test21 public void test01(){22 try {23 JAXBContext ctx = JAXBContext.newInstance(Student.class);24 Marshaller marshaller = ctx.createMarshaller();25 Student student = new Student(1,"张三",21,new ClassName(1,"10数学",2010));26 marshaller.marshal(student,System.out);27 } catch (JAXBException e) {28 e.printStackTrace();29 }30 }31 32 33 /**34 * 张三 10数学35 */36 @Test37 public void test02(){38 String str="
21
2010
1
10数学
1
张三
\n";39 try {40 JAXBContext ctx = JAXBContext.newInstance(Student.class);41 Unmarshaller unmarshaller = ctx.createUnmarshaller();42 Student stu = (Student) unmarshaller.unmarshal(new StringReader(str));43 System.out.println(stu.getName()+" "+stu.getClassName().getName());44 } catch (JAXBException e) {45 e.printStackTrace();46 }47 48 }49 }

 

转载于:https://www.cnblogs.com/dream-to-pku/p/6445282.html

你可能感兴趣的文章
全志A33开发板Linux内核定时器编程
查看>>
全栈必备 敏捷估点
查看>>
一个爬虫小技巧
查看>>
作为一名合格的JAVA架构师需要点亮哪些技能树?
查看>>
为什么短视频会让人刷不停?背后也许用了这套技术
查看>>
Kubernetes 在知乎上的应用
查看>>
Fescar 发布 0.3.1 版本, 支持 ZooKeeper 注册中心
查看>>
【死磕 Spring】----- IOC 之解析 bean 标签:BeanDefinition
查看>>
4.1 在SELinux中客体类存在的目的
查看>>
E-HPC支持多队列管理和自动伸缩
查看>>
各种设备的CSS3MediaQuery整理及爽歪歪写法
查看>>
基础为重,Python的基础,成就月薪过万
查看>>
PHP浮点数的精确计算BCMath
查看>>
Oracle RAC安装过程中碰到的“坑”和关键点(一)
查看>>
【云计算的1024种玩法】使用 NAS 文件储存低价获得好磁盘性能
查看>>
H.264学习笔记之一(层次结构,NAL,SPS)
查看>>
Radware:IP欺诈等让网络攻击难以防范
查看>>
基于Token认证的WebSocket连接
查看>>
【Solidity】2.合约的结构体 - 深入理解Solidity
查看>>
《Drupal实战》——2.6 小结
查看>>