使用java提供的JAXB来实现java到xml之间的转换,先创建两个持久化的类(Student和Classroom):

Classroom:

package com.model;

public class Classroom {
private int id;
private String name;
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 Classroom(){
super();
}
public Classroom(int id,String name){
this.id = id;
this.name = name;
}
}

Student:

import javax.xml.bind.annotation.XmlRootElement;
//不要忘记了这个注解@XmlRootElement,说明将Student作为xml的根元素
@XmlRootElement
public class Student {
private String name;
private String sex;
private int age;
private Classroom classroom;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Classroom getClassroom() {
return classroom;
}
public void setClassroom(Classroom classroom) {
this.classroom = classroom;
}
public Student(){
super();
}
public Student(String name,String sex,int age,Classroom classroom){
super();
this.age=age;
this.classroom=classroom;
this.name = name;
this.sex = sex;
}
}

下面可以建立我的main函数了,在此,我们用的是JAXBContext创建的marshaller与unmarshaller来解析java与xml

package test;

import java.io.StringReader;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller; import com.model.Classroom;
import com.model.Student; public class Test {
public static void main(String[] args) {
     //new Test().java_xml(); 
new Test().xml_java();
}
public void java_xml(){
try {
JAXBContext jaxbc = JAXBContext.newInstance(Student.class);
Marshaller marshaller = jaxbc.createMarshaller();
Student stu = new Student("小瞧","男",22,new Classroom(12,"10级"));
//marshaller.setProperty(marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.marshal(stu, System.out);
} catch (JAXBException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void xml_java(){
String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>" +
"<student><age>22</age>" +
"<classroom>" +
"<id>12</id>" +
"<name>10级</name>" +
"</classroom>" +
"<name>小瞧</name>" +
"<sex>男</sex>" +
"</student>";
try {
JAXBContext jaxbc = JAXBContext.newInstance(Student.class);
Unmarshaller unmar = jaxbc.createUnmarshaller();
Student stu = (Student)unmar.unmarshal(new StringReader(xml));
System.out.println(stu.getAge());
} catch (JAXBException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

java与xml之间的转换(jaxb)的更多相关文章

  1. 使用JAXB来实现Java合xml之间的转换

    使用jaxb操作Java与xml之间的转换非常简单,看个例子就明白了. //javaBean-->xml @Test public void test1() { try { JAXBContex ...

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

    源代码下载:链接:http://pan.baidu.com/s/1ntL1a7R password: rwp1 本文主要讲述:使用jaxb完毕对象和xml之间的转换 TestJava2xml.java ...

  3. JAXB 实现java对象与xml之间互相转换

    首先熟悉一下JAXB实现对象与xml互转时常用的一些注解使用: 1.@XmlRootElement,用于类级别的注解,对应xml的跟元素.通过name属性定义这个根节点的名称. 2.@XmlAcces ...

  4. Java for XML: JAXP、JAXB、JAXM、JAX-RPC、JAX-WS

    在XML领域里,对XML文件的校验有两种方式:DTD校验.Schema校验.在Java中,对于XML的解析,有多种方式:DOM解析.SAX解析.StAX解析.结合XML和Java后,就产生了Bind技 ...

  5. Java对象 json之间的转换(json-lib)

    在这里主要简单的介绍一下,如何使用json-lib这个工具包来完成Java对象(或集合)与json对象(或集合)之间的转换~ 1. Java对象转换成json(既创建json) 关键类:JSONObj ...

  6. Java基础——数据类型之间的转换

    Java数据类型分为三大类,即布尔型.字符型和数值型.其中数值型又分为整型和浮点型.Java的基本数据类型(8种)为布尔型boolean(1字节):字符型char(2字节):整型byte(1字节).s ...

  7. java.util.Date 与 java.sql.Date 之间的转换

    SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd HH:mm:ss"); String dateStr = sdf.for ...

  8. java将XML文档转换成json格式数据

    功能 将xml文档转换成json格式数据 说明 依赖包:1. jdom-2.0.2.jar : xml解析工具包;2. fastjson-1.1.36.jar : 阿里巴巴研发的高性能json工具包 ...

  9. 通过JAXB完成Java对象与XML之间的转换

    Java对象转换XML的过程叫marshal. XML转换到Java对象的过程叫unmarshal. 一.Java对象转化为XML 这里省略getter和setter方法 通过标注@XMLRootEl ...

随机推荐

  1. 设计模式 -- 迭代器模式(Iterator)

    --------------------------------------------------------------------- 1.场景问题 考虑这样一个问题: 9个学生对象分别通过数组存 ...

  2. asp.net权限认证:OWIN实现OAuth 2.0 之密码模式(Resource Owner Password Credential)

    asp.net权限认证系列 asp.net权限认证:Forms认证 asp.net权限认证:HTTP基本认证(http basic) asp.net权限认证:Windows认证 asp.net权限认证 ...

  3. 5个步骤创建你的第一个RESTFul 服务

    1.啥是RESTFul 服务 在我们创建简单小程序前,先来学习下RESTFul 服务.RESTFul服务就是遵循了 Representational State Transfer(可以参考http:/ ...

  4. Windows|Windows Server 2003单网卡搭建VPN

    1.[开始]--->[程序]--->[管理工具]--->[路由和远程访问].如下图所示: 2.选中"本地"右键"配置并启用路由和远程访问".如 ...

  5. 怎样在chrome中内置扩展,以及一些简单的定制

    本文中chromium 版本为54 参考资料: chromium如何新增extension API以及添加内部扩展 http://slides.com/luyuan/grit#/ 一.嵌入扩展 1.  ...

  6. 简洁、轻量的前端UI框架 - Hbook

    Simple, lightweight front-end UI framework Get Start : http://www.bookcss.com Introduce Hbook focus ...

  7. InnoDB和Foreign KEY Constraints

    InnoDB表中中Foreign Key定义 1. InnoDB允许a foreign key引用一个索引列或者索引组列. 2. InnoDB现在并不支持用户定义的分区表有foreign keys,这 ...

  8. [JAVA] - Java OutOfMemoryError分类

    Java OutOfMemoryError一般常遇到的分为两类,分别提示: "Java heap space" 和 "PermGen space",前面的是指j ...

  9. 【Javaweb】笔面试题 ---(1)

    Javaweb 面试题:理解才是最重要的,而不是原封不动的背下来 一.请简述doget和dopost它们的区别 1) get是从服务器上获取数据,post是向服务器传送数据. 2) 在客户端,Get方 ...

  10. ios 相机调用之读取相册

    UIIamgePickerControllerr可以从照片库中读取一张图片到咱们应用程序中来   步骤:   //创建图片判断图片库是否可以使用   if([UIImagePickerControll ...