在项目中我们常常需要将java对象转为Xml,将xml转为java对象,这些繁琐的操作我们使用JAXB的话就可以很轻松的实现,一起看一个例子吧
package com.xiongpan.model; import java.util.ArrayList; import java.util.List; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement public class ClassRoom { private String classid; private String classname; private List<Student> list= new ArrayList<Student>(); public String getClassid() { return classid; } public void setClassid(String classid) { this. classid = classid; } public String getClassname() { return classname; } public void setClassname(String classname) { this. classname = classname; } public List<Student> getList() { return list; } public void setList(List<Student> list) { this. list = list; } public ClassRoom(String classid, String classname, List<Student> list) { super(); this. classid = classid; this. classname = classname; this. list = list; } public ClassRoom() { super(); } @Override public String toString() { StringBuffer sb= new StringBuffer(); sb.append( "classid="+ this. classid+ " "); sb.append( "classname"+ this. classname+ " "); for (Student st : list) { sb.append(st.toString()); } return sb.toString(); } }
package com.xiongpan.model; public class Student { private String id; private String name; private int age; public String getId() { return id; } public void setId(String 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(String id, String name, int age) { super(); this. id = id; this. name = name; this. age = age; } public Student() { super(); // TODO Auto-generated constructor stub } @Override public String toString() { return "Student [id=" + id + ", name=" + name + ", age=" + age + "]"; } }
package com.xiongpan.model; import java.io.StringReader; import java.util.ArrayList; import java.util.List; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; import javax.xml.bind.Unmarshaller; import org.junit.Test; public class MyTest { @Test public void testJaxbToXml(){ try { Student s1=new Student("1", "ggd1", 21); Student s2=new Student("2", "ggd2", 21); Student s3=new Student("3", "ggd3", 21); Student s4=new Student("4", "ggd4", 21); Student s5=new Student("5", "ggd5", 26); Student s6=new Student("6", "ggd6", 21); Student s7=new Student("7", "ggd7", 26); List<Student> list=new ArrayList<Student>(); list.add(s1); list.add(s2); list.add(s3); list.add(s4); list.add(s5); list.add(s6); list.add(s7); ClassRoom classRoom=new ClassRoom("131123-1", "bestClassRoom", list); JAXBContext ct=JAXBContext.newInstance(ClassRoom.class); Marshaller marshaller= ct.createMarshaller(); marshaller.marshal(classRoom, System.out); } catch (JAXBException e) { e.printStackTrace(); } } @Test public void TestjaxbToObject(){ try { String xml="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><classRoom><classid>131123-1</classid><classname>bestClassRoom</classname><list><age>21</age><id>1</id><name>ggd1</name></list><list><age>21</age><id>2</id><name>ggd2</name></list><list><age>21</age><id>3</id><name>ggd3</name></list><list><age>21</age><id>4</id><name>ggd4</name></list><list><age>26</age><id>5</id><name>ggd5</name></list><list><age>21</age><id>6</id><name>ggd6</name></list><list><age>26</age><id>7</id><name>ggd7</name></list></classRoom>"; JAXBContext jaxbContext=JAXBContext.newInstance(ClassRoom.class); Unmarshaller unmarshaller=jaxbContext.createUnmarshaller(); ClassRoom classRoom= (ClassRoom) unmarshaller.unmarshal(new StringReader(xml)); System.out.println(classRoom.toString()); } catch (JAXBException e) { e.printStackTrace(); } } }
testJaxbToXml执行结果 <?xml version="1.0" encoding="UTF-8" standalone="yes"?><classRoom><classid>131123-1</classid><classname>bestClassRoom</classname><list><age>21</age><id>1</id><name>ggd1</name></list><list><age>21</age><id>2</id><name>ggd2</name></list><list><age>21</age><id>3</id><name>ggd3</name></list><list><age>21</age><id>4</id><name>ggd4</name></list><list><age>26</age><id>5</id><name>ggd5</name></list><list><age>21</age><id>6</id><name>ggd6</name></list><list><age>26</age><id>7</id><name>ggd7</name></list></classRoom> // xml To java Object执行结果 classid=131123-1 classnamebestClassRoom Student [id=1, name=ggd1, age=21]Student [id=2, name=ggd2, age=21]Student [id=3, name=ggd3, age=21]Student [id=4, name=ggd4, age=21]Student [id=5, name=ggd5, age=26]Student [id=6, name=ggd6, age=21]Student [id=7, name=ggd7, age=26]
相关推荐
使用java jdk的JAXB技术实现xml与java对象互相转化代码教程: JDK中JAXB相关的重要Class和Interface:(来源于百度百科JAXB) •JAXBContext类,是应用的入口,用于管理XML/Java绑定信息。 •Marshaller接口,将Java...
JAXB工具类 xml转为java对象 java对象转为xml ,本人亲测,可以使用!!!
该过程中,JAXB也提供了将XML实例文档反向生成Java对象树的方法,并能将Java对象树的内容重新写到XML实例文档。从另一方面来讲,JAXB提供了快速而简便的方法将XML模式绑定到Java表示,从而使得Java开发者在Java应用...
主要介绍了java利用JAXB实现对象和xml互相转换方法与实例详解,需要的朋友可以参考下
NULL 博文链接:https://luyuwww.iteye.com/blog/1988355
jaxb将xml转换为对象或将对象转换为xml。测试通过。
NULL 博文链接:https://dacoolbaby.iteye.com/blog/1667283
JAXB XML TO JAVA,文件转化 生成java代码
本代码主要是Java对象和Xml之间的转换实例代码,如果想具体指导代码是如何搭建的,可以参照http://blog.csdn.net/songdeitao/article/details/17304395这篇博文,这里的代码是和此对应的。
使用jaxb 实现xml——bean互转
JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生Java类的技术。JAXB与xml相互转换实例。
java 使用 JAXB 将xml转换为 bean 包含xml和dto和读取文件的util类
THE Java™Architecture for XML Binding (JAXB) provides a fast and convenient way to bind between XML schemas and Java representations, making it easy for Java developers to incorporate XML data and ...
做项目是遇到的一个技术点,xml转java bean 有需要的可以直接用,代码完整。
NULL 博文链接:https://rayoo.iteye.com/blog/1233534
程序的自定义设置是一个重要的功能,...本文介绍了用JAXB来实现Java程序配置,JAXB即Java Architecture for XML Binding,xml在java语言中的一个新规范,可以方便的从xml文件到java类,以及从java类到xml文件的转换。
[精品]JAVA6新特性介绍使用JAXB来实现对象与XML之间的映射
用JAXB的xjc生成的Java类代表了在XML模式中不同的元素和复杂类型(complexType)。(一个复杂类型通过指定属性和元素内的元素来提供对一个元素的限定)。一个符合XML模式的XML文档可以从这些Java类中构建出来。 在这...
在android 6.0下,应用JAXB jar包根据XML Schema解析XML文件。