jaxb.JaxbDemo
package jaxb;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
import pojo.People;
public class JaxbDemo {
// 编组数据
public static void marshalData() throws JAXBException, IOException {
JAXBContext context = JAXBContext.newInstance(People.class);
Marshaller marshaller = context.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_ENCODING, "gb2312");// 编码格式
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);// 是否格式化生成的xml串
// 是否省略xml头信息(<?xml version="1.0" encoding="gb2312" standalone="yes"?>)
marshaller.setProperty(Marshaller.JAXB_FRAGMENT, false);
People people = new People();
people.setLogo("=====");
people.setId(1);
people.setName("son");
People father = new People();
father.setId(2);
father.setName("father");
people.setFather(father);
FileOutputStream os = new FileOutputStream("People.xml");
marshaller.marshal(people, os);
os.close();
}
// 解组数据
public static void unmarshalData() throws JAXBException, FileNotFoundException {
JAXBContext context = JAXBContext.newInstance(People.class);
Unmarshaller unmarshaller = context.createUnmarshaller();
People p = (People) unmarshaller.unmarshal(new FileInputStream("People.xml"));
System.out.println(p.getId() + " : " + p.getName());
}
}
pojo.AbstractPeople
package pojo;
public class AbstractPeople {
private String logo;
public String getLogo() {
return logo;
}
public void setLogo(String logo) {
this.logo = logo;
}
}
pojo.People
package pojo;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name = "People")
@XmlAccessorType(XmlAccessType.FIELD)
public class People extends AbstractPeople{
private int id;
private String name;
private People father;
public People() {
}
public People(int id, String name) {
this.id = id;
this.name = 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 People getFather() {
return father;
}
public void setFather(People father) {
this.father = father;
}
}
People.xml
<?xml version="1.0" encoding="gb2312" standalone="yes"?>
<People>
<logo>=====</logo>
<id>1</id>
<name>son</name>
<father>
<id>2</id>
<name>father</name>
</father>
</People>
分享到:
相关推荐
java jdk1.6 新特性 jaxb2 demo
Jaxb简单例子,学习注解及java与xml的互相转换,比较基础,大家互相学习
JAXB Demo及namespace的prefix自定义解决方案
解析xml java与xml转换的demo --stax jaxb
JAXB的使用JAXB的使用JAXB的使用JAXB的使用
无需安装,解压后即可。jaxb-api.jar,jaxb-xjc.jar,jaxb-impl.jar,activation.jar等相关jar包在lib文件夹下。
JAXB的HelloWorld源码,适合想学习JAXB技术的新手学习。
jaxb-api jaxb-impl jar
JAXB的安装包及插件
JAXB的 eclipse插件 JAXB的 eclipse插件 JAXB的 eclipse插件 JAXB的 eclipse插件 JAXB的 eclipse插件
NULL 博文链接:https://cxl2012.iteye.com/blog/1941792
在使用webservice,mule esb等需要jaxb的项目里经常会出现 JAXB 2.0 API is being loaded from the bootstrap classloader这个错误,按照打出的信息Use the endorsed directory mechanism to place jaxb-api.jar in ...
我刚写好的 一个简单的小程序 动行里面的read文件 是在idea 中用jaxb 读xml中数据
java -jar JAXB2_20060607.jar On Windows, you can just double-click the jar file to execute. Release Notes Browse the release notes online, including what's new. Technical Support Please subscribe to...
JAXB注解相关技术JAXB注解相关技术JAXB注解相关技术JAXB注解相关技术JAXB注解相关技术JAXB注解相关技术
使用jaxb生成XML例子,含有例子和注解解析
有关Maven项目中缺少jaxb-api的异常报错解决,jaxb-api-2.3.0.jar
一个JAXB2的基础教程,教你快速运用JAXB通过XSD绑定XML和读写XML
jaxb-api jaxb-impl jaxb-xjc jaxws-rt 这四个文件对应的jar包
赠送jar包:jackson-module-jaxb-annotations-2.2.3.jar; 赠送原API文档:jackson-module-jaxb-annotations-2.2.3-javadoc.jar; 赠送源代码:jackson-module-jaxb-annotations-2.2.3-sources.jar; 赠送Maven依赖...