主要使用到的Java类有:javax.xml.bind.JAXBContext,javax.xml.bind.Marshaller(编排)

代码主要展示如下:

public class Student {

    private int id;
private String name;
private int age;
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 Student(int id, String name, int age) {
super();
this.id = id;
this.name = name;
this.age = age;
}
public Student() {
super();
// TODO Auto-generated constructor stub
}
}

 

import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
public class ClassRoom {
private int classRoomId;
private String classRoomName;
private Student student;
public int getClassRoomId() {
return classRoomId;
}
public void setClassRoomId(int classRoomId) {
this.classRoomId = classRoomId;
}
public String getClassRoomName() {
return classRoomName;
}
public void setClassRoomName(String classRoomName) {
this.classRoomName = classRoomName;
}
public Student getStudent() {
return student;
}
public void setStudent(Student student) {
this.student = student;
}
public ClassRoom(int classRoomId, String classRoomName, Student student) {
super();
this.classRoomId = classRoomId;
this.classRoomName = classRoomName;
this.student = student;
}
public ClassRoom() {
super();
// TODO Auto-generated constructor stub
} }

测试:

import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller; public class Test { /**
* @param args
*/
public static void main(String[] args)throws Exception{
// TODO Auto-generated method stub JAXBContext jbt = JAXBContext.newInstance(ClassRoom.class); ClassRoom cr = new ClassRoom(1, "一班", new Student(10, "张三", 22)); Marshaller ms = jbt.createMarshaller(); ms.marshal(cr, System.out); } }

结果:<?xml version="1.0" encoding="UTF-8" standalone="yes"?><classRoom><classRoomId>1</classRoomId><classRoomName>一班</classRoomName><student><age>22</age><id>10</id><name>张三</name></student></classRoom>

在这个简单的示例中主要留意的地方:1.Test.java 中的代码

2. ClassRoom 类中加注解@XmlRootElement

 

把生成的xml文件生成Java对象:

 

主要代码:

String xml ="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><classRoom><classRoomId>1</classRoomId><classRoomName>一班</classRoomName><student><age>22</age><id>10</id><name>张三</name></student></classRoom>";

        JAXBContext unjbt = JAXBContext.newInstance(ClassRoom.class);

        Unmarshaller unms = unjbt.createUnmarshaller();

        ClassRoom uncr =(ClassRoom) unms.unmarshal(new StringReader(xml));

        System.out.println(uncr.getClassRoomId()+uncr.getClassRoomName());

把Java对象转为xml格式的更多相关文章

  1. java socket报文通信(三)java对象和xml格式文件的相互转换

    前两节讲了socket服务端,客户端的建立以及报文的封装.今天就来讲一下java对象和xml格式文件的相互转换. 上一节中我们列举了一个报文格式,其实我们可以理解为其实就是一个字符串.但是我们不可能每 ...

  2. JAVA对象和XML文档、原来他们之间还有这一出

    最近项目开发中遇到一个问题,访问接口不再通过url地址请求的方式,而是 通过socket发送xml格式的报文到指定服务器来进行信息的统一认证.. 因此组装xml格式的报文字符串以及解析服务器返回的xm ...

  3. java对象与XML相互转化

    起因 最近在公司做了一次webservice相关的任务,其中我最敢兴趣的就是webservice接受到XML对应的流以后是如何方便的转化成java对象,而java对象又是如何生成对应的XML的. 目的 ...

  4. 玩转Java对象和XML相互转换

    最近在项目中一直出现Java对象和XML之间的相互转换,一开始由于项目很庞大,我又是临时调度过去,导致在按照项目组长的要求进行写代码的同时,总是在这块云里雾里,最近才慢慢开始搞清楚项目中具体的使用缘由 ...

  5. 使用XStream注解实现Java对象与XML互相转换的代码示例

    本文记录一下使用xstream这个api的注解特性对Java对象与XML字符串相互转换的一些代码示例.    我们很多人都处理过XML文件,也有很多非常成熟的第三方开源软件.如:jdom.dom4j等 ...

  6. 字符串对象跟xml格式的转换

    package com.sunshen.jfids.testWebService.task; import java.io.File; import java.io.StringWriter; imp ...

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

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

  8. .NET调用外部接口将得到的List数据,并使用XmlSerializer序列化List对象成XML格式

    BidOpeningData.BidSupervisionSoapClient client = new BidOpeningData.BidSupervisionSoapClient(); Dict ...

  9. java对象与xml相互转换 ---- xstream

    XStream是一个Java对象和XML相互转换的工具,很好很强大.提供了所有的基础类型.数组.集合等类型直接转换的支持. XStream中的核心类就是XStream类,一般来说,熟悉这个类基本就够用 ...

随机推荐

  1. [CF 475D] CGCDSSQ (RMQ)

    题目链接:http://codeforces.com/contest/475/problem/D 是昨天晚上的CF题目,题意是给定你n个数,问你所有子区间内的最小公约数是x的个数是多少 问的康神,了解 ...

  2. 安装LINUX X86-64的10201出现链接ins_ctx.mk错误

    在安装linux X86-64的Oracle10201时,在链接过程中出现了这个错误. 详细错误信息为: Error in invoking target ‘install’ of makefile  ...

  3. SQL SERVER树型数据处理时,函数递归调用问题,查询根节点,子节点函数

    /* 标题:查询指定节点及其所有子节点的函数 作者:爱新觉罗.毓华(十八年风雨,守得冰山雪莲花开) 时间:2008-05-12 地点:广东深圳 */ ) , pid ) , name )) ' , n ...

  4. VR就是下一个浪潮_2016 (GMGC) 全球移动游戏大会观后感

    "VR就是下一个浪潮"  --2016 (GMGC) 全球移动游戏大会观后感   早在2014年参会Unity举办的一年一度的金立方盛典大会,就初次体验了VR头盔设备,于是印象深刻 ...

  5. JavaScript_1

    一.方法 ---------------------Array 对象------------------------ 1.concat() : 将作为参数传递的元素拼接到一个已存在的数组2.pop() ...

  6. Swift学习—字符串&数组&字典

    字符串 OC和Swift中字符串的区别 在OC中字符串类型时NSString,在Swift中字符串类型是String OC中字符串@"",Swift中字符串"" ...

  7. ORA-12518,TNS:listener could not hand off client connection

    前几天在启动应用的时候,在控制台抛出了此异常信息!很明显是数据库方面的问题,不过具体是什么问题哪?百度了一下,网上关于此问题的信息还是有比较多,从异常的提示中我们也能看到是具体是和客户端的连接相关的问 ...

  8. Oracle笔记 四、增删改、事务

    1.插入 insert into dept values(50, 'soft', 'Guangzhou'); insert into dept(deptno, dname) values(60, 's ...

  9. git贡献代码流程

    1.本地创建ssh key: $ ssh-keygen -t rsa -C "your_email@youremail.com" 2.回到github,进入Account Sett ...

  10. Server2003安装SP2补丁提示密钥无效的解决方法

    机器一直没有打SP2的补丁.几天要安装一个程序,还非要SP2不可.没办法.居然打补丁的时候出现了这样的错误信息: --------------------------- Service Pack 2 ...