【WebService】使用jaxb完成对象和xml的转换
package com.slp.jxmarshaller; /**
* Created by sanglp on 2017/2/26.
*/
public class ClassName {
private int id;
private String name;
private int grade; public ClassName() {
} public ClassName(int id, String name, int grade) {
this.id = id;
this.name = name;
this.grade = grade;
} 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 getGrade() {
return grade;
} public void setGrade(int grade) {
this.grade = grade;
}
}
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 注释, 无法将该类型编集为元素]
*/
@XmlRootElement
public 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() {
}
}
package com.slp.jxmarshaller; import org.junit.Test; import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
import java.io.StringReader; /**
* Created by sanglp on 2017/2/26.
*/
public class TestJaxb { /**
* 输出结果
* <?xml version="1.0" encoding="UTF-8" standalone="yes"?><student><age>21</age><className><grade>2010</grade><id>1</id><name>10数学</name></className><id>1</id><name>张三</name></student>
*/
@Test
public void test01(){
try {
JAXBContext ctx = JAXBContext.newInstance(Student.class);
Marshaller marshaller = ctx.createMarshaller();
Student student = new Student(1,"张三",21,new ClassName(1,"10数学",2010));
marshaller.marshal(student,System.out);
} catch (JAXBException e) {
e.printStackTrace();
}
} /**
* 张三 10数学
*/
@Test
public void test02(){
String str="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><student><age>21</age><className><grade>2010</grade><id>1</id><name>10数学</name></className><id>1</id><name>张三</name></student>\n";
try {
JAXBContext ctx = JAXBContext.newInstance(Student.class);
Unmarshaller unmarshaller = ctx.createUnmarshaller();
Student stu = (Student) unmarshaller.unmarshal(new StringReader(str));
System.out.println(stu.getName()+" "+stu.getClassName().getName());
} catch (JAXBException e) {
e.printStackTrace();
} }
}
【WebService】使用jaxb完成对象和xml的转换的更多相关文章
- JAXB实现java对象与xml之间转换
JAXB简介: 1.JAXB能够使用Jackson对JAXB注解的支持实现(jackson-module-jaxb-annotations),既方便生成XML,也方便生成JSON,这样一来可以更好的标 ...
- c#开发微信公众号——关于c#对象与xml的转换
在成为微信公众号开发者以后,整个交互流程:用户->微信服务器->自己的服务器->返回微信服务器->用户: 举个例子:用户在微信公众号里面发了个“您好!”,微信服务器会以特定的x ...
- 使用XStream注解实现Java对象与XML互相转换的代码示例
本文记录一下使用xstream这个api的注解特性对Java对象与XML字符串相互转换的一些代码示例. 我们很多人都处理过XML文件,也有很多非常成熟的第三方开源软件.如:jdom.dom4j等 ...
- axis2带list的报文,对象和xml的转换
import java.util.ArrayList; import java.util.List; import org.apache.log4j.Logger; import org.dom4j. ...
- JAXB 实现java对象与xml之间互相转换
首先熟悉一下JAXB实现对象与xml互转时常用的一些注解使用: 1.@XmlRootElement,用于类级别的注解,对应xml的跟元素.通过name属性定义这个根节点的名称. 2.@XmlAcces ...
- jaxb 专题一(JAXB 实现java对象与xml之间互相转换)
首先熟悉一下JAXB实现对象与xml互转时常用的一些注解使用: 1.@XmlRootElement,用于类级别的注解,对应xml的跟元素.通过name属性定义这个根节点的名称. 2.@XmlAcces ...
- webservice04#对象与xml转换-jaxb#Stax解析xml#新建修改xml
1,Student类 package com.yangw.xml; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement / ...
- java对象与XML相互转化
起因 最近在公司做了一次webservice相关的任务,其中我最敢兴趣的就是webservice接受到XML对应的流以后是如何方便的转化成java对象,而java对象又是如何生成对应的XML的. 目的 ...
- 利用JAXB实现java实体类和xml互相转换
1.应用场景 在使用WebService实现数据上传下载,数据查询时,可以利用JAXB实现java实体类和xml互相转换 2.Demo 2.1 student.java 实体类,包含list(set同 ...
随机推荐
- for语句联系 -小九九乘法表
public class a { /** * @param args */ public static void main(String[] args) { // TODO 自动生成的方法存根 int ...
- HDFS入门
HDFS入门 欢迎关注我的个人博客:http://www.cnblogs.com/yjd_hycf_space 更多大数据以及编程相关的精彩文章 为什么我们需要HDFS 文件系统由三部分组成:与文件管 ...
- Nginx_lua缓存问题,关闭lua_code_cache
打开nginx.conf配置server{ lua_code_cache off; //关闭lua缓存 重启后生效 server_name localhost; default_type 'text/ ...
- JEECG常见问题大全征集
大家还有什么问题.请跟帖,谢谢支持. . JEECG常见问题大全征集 1. jeecg没有数据库脚本问题 jeecg不须要数据库脚本,在数据库创建好数据库.项目配置好数据源链接.会自己主动建表. ...
- DataGridView使用技巧十三:点击列头实现升序和降序排序
DataGridView 列有三种排序模式.每一列的排序模式是通过该列的 SortMode 属性指定的,该属性可以设置为以下的 DataGridViewColumnSortMode 枚举值之一. Da ...
- sparkR could not find function "textFile"
Yeah, that’s probably because the head() you’re invoking there is defined for SparkR DataFrames[1] ( ...
- 无限级分类 mysql设计
- Spring IO platform 简介
前提:熟悉Spring基础知识. 简介:Spring IO Platform将 the core Spring APIs 集成到一个Platform中.它提供了Spring portfolio中的大量 ...
- Android camera 竖直拍照 获取竖直方向照片
竖直拍照 if (Integer.parseInt(Build.VERSION.SDK) >= 8) { camera.setDisplayOrientation(90); } else ...
- Js Object转化为json,json转Object
var obj={x:10,y:50};var t= JSON.stringify(obj);console.log(typeof t);var gg= JSON.parse(t);console.l ...