JAXB小例子实记
来源:互联网 发布:淘宝图片轮播宽度 编辑:程序博客网 时间:2024/05/07 01:30
JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生Java类的技术。该过程中,JAXB也提供了将XML实例文档反向生成Java对象树的方法,并能将Java对象树的内容重新写到 XML实例文档。从另一方面来讲,JAXB提供了快速而简便的方法将XML模式绑定到Java表示,从而使得Java开发者在Java应用程序中能方便地结合XML数据和处理函数。
//通过JAXB将java对象转换为xml
public class JAXBDemo {
public static void main(String[] args) throws JAXBException {
//调用JAXB上下文,通过调用newInstance,详细可看javaee6的帮助文档
JAXBContext ctx = JAXBContext.newInstance(Student.class);
//创建一个marshaller(编排)
Marshaller mar = ctx.createMarshaller();
Student stu = new Student("student1", "123");
//转换对象,并将输入到标准流中
mar.marshal(stu, System.out);
}
}
//记得创建@XmlRootElement,如果不写name的属性,默认是类名的小写形式做为xml的root
@XmlRootElement(name="STUDENT")
class Student {
private String name;
private String password;
public Student(){}
public Student(String name, String password){
this.name = name;
this.password = password;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
输出结果:<?xml version="1.0" encoding="UTF-8" standalone="yes"?><STUDENT><name>student1</name><password>123</password></STUDENT>
package com.czp.test;
import java.io.StringReader;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlRootElement;
//通过xml,转换为java对象
public class JAXBDemo1 {
public static void main(String[] args) throws JAXBException {
//定义xml字符串
String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>" +
"<STUDENT><name>student1</name><password>123</password></STUDENT>";
//获取JAXContext对象,记得要写上实体类,不然会报找不到节点的错误
JAXBContext ctx = JAXBContext.newInstance(Student.class);
//创建反编排的对象
Unmarshaller unmar = ctx.createUnmarshaller();
//将字符串通过的流的形式反编排,并强制转换
Student stu = (Student)unmar.unmarshal(new StringReader(xml));
//打印结果值
System.out.println("name : " + stu.getName() +", password : " + stu.getPassword());
}
}
//name的属性值要和XML的root节点一样
@XmlRootElement(name="STUDENT")
class Student {
private String name;
private String password;
public Student(){}
public Student(String name, String password){
this.name = name;
this.password = password;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
输出结果:name : student1, password : 123
- JAXB小例子实记
- JAXB简单入门小例子
- jaxb读写xml小例子
- jaxb例子
- JAXB例子
- Jaxb例子
- 简单的jaxb例子
- JAXB注解小示例
- jaxb小实例+注解说明
- jaxb解析xml为对象例子
- JAXB(一)入门--概述,简单例子
- JAXB
- jaxb
- JAXB
- JAXB
- jaxb
- JAXB
- JAXB
- Android程序调用本机googlemap,传递起始和终点位置,生成路线图
- 页面跳转用 window.location.href 在火狐下不能执行 解决办法
- 打造RIS服务器 软件在局域网中自动安装
- 黑马程序员_交通灯管理系统
- linux 目录结构
- JAXB小例子实记
- SOCKADDR_IN
- Properties类
- 提高编程能力的10种方法
- 20120820两个数据库间数据不一致,修复存过
- DCTb变换
- Qt下的OpenGL 编程(8)文字、FPS、动画
- tyvj1035 二分图最大配(连接表结构)
- 在Windows 2003下搭建FTP服务器