09_使用jaxb完成对象和xml的转换

处理XML的方式:

  SAX

  dom4j

  Xstream-->stax

  XStream,Jackson

  JAXB:

JAXB实例:

package com.bling.xml;

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 org.junit.Test;

public class TestJaxb {
    @Test
    public void test01(){
        try {
            JAXBContext ctx = JAXBContext.newInstance(Student.class);
            Marshaller marshaller = ctx.createMarshaller();
            Student stu = new Student(1,"杨明亮",21,new Classroom(1,"计算机",2014));
            marshaller.marshal(stu, System.out);
        } catch (JAXBException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    @Test
    public void test02(){
        String xml ="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><student><age>21</age><classroom><grade>2014</grade><id>1</id><name>计算机</name></classroom><id>1</id><name>杨明亮</name></student>";
        JAXBContext ctx;
        try {
            ctx = JAXBContext.newInstance(Student.class);
            Unmarshaller um = ctx.createUnmarshaller();
            Student stu = (Student)um.unmarshal(new StringReader(xml));
            System.out.println("student name:"+stu.getName());
        } catch (JAXBException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }
}

GitHub源码地址:https://github.com/WebServcie/04_java_xml

09_使用jaxb完成对象和xml的转换

时间: 2024-09-27 17:18:49

09_使用jaxb完成对象和xml的转换的相关文章

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

本文记录一下使用xstream这个api的注解特性对Java对象与XML字符串相互转换的一些代码示例.    我们很多人都处理过XML文件,也有很多非常成熟的第三方开源软件.如:jdom.dom4j等.虽然他们的功能非常强大,但在使用上还是有点不那么习惯.对于格式比较固定的XML文档,它的结构没有变化或是很少变化,这时将它转换成我们熟悉的Java对象来操作的话,会使工作变得更容易一些,而xstream正好可以满足这一点.    本文所用xstream的版本为:1.4.7 <dependency>

java对象和xml的转换

关于java转对象,还有别的方法,这里我就简单的介绍一下这个.当然在转对象的过程中,必须加注释. 1.将Java对象转换为XML public static <T> void ObjectToXml(T t,String FilePath)throws Exception { FileOutputStream out = new FileOutputStream(new File(FilePath)); JAXBContext context = JAXBContext.newInstance

JAXB实现java对象与xml之间转换

JAXB简介: 1.JAXB能够使用Jackson对JAXB注解的支持实现(jackson-module-jaxb-annotations),既方便生成XML,也方便生成JSON,这样一来可以更好的标志可以转换为JSON对象的JAVA类.JAXB允许JAVA人员将JAVA类映射为XML表示方式,常用的注解包括:@XmlRootElement,@XmlElement等等. 2.JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML S

使用JAXB完成object和xml的转换

1.将 xml 文件中的各个节点和属性信息创建对应的Java模型. 2.在Java模型中的创建与 xml 文件对应的节点和属性需要用注解来表示. @XmlRootElement   将一个Java类映射为一段XML的根节点 参数: name  定义这个根节点的名称 namespace   定义这个根节点命名空间 @XmlAccessorType  定义映射这个类中的何种类型需要映射到XML.可接收四个参数,分别是: XmlAccessType.PROPERTY:映射这个类中的属性(get/set

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

首先熟悉一下JAXB实现对象与xml互转时常用的一些注解使用: [email protected],用于类级别的注解,对应xml的跟元素.通过name属性定义这个根节点的名称. [email protected],定义映射这个类中的何种类型都需要映射到xml.(如果不存在@XmlAccessorType,默认使用XmlAccessType.PUBLIC_MEMBER注解) 参数:XmlAccessType.FIELD: java对象中的所有成员变量. XmlAccessType.PROPERTY

XStream实现xml和java对象之间的互相转换,同理JSON也可以

首先去官网下载响应JAR包 http://xstream.codehaus.org/index.html 最少需要两个jar包,一个xstream.jar,一个是xmlpull.jar 首先来看下java对象到xml的转换 package xml; class PhoneNumber { private int code; private int number; public int getCode() { return code; } public void setCode(int code)

java object与xml的转换

概述:以前对于XML与Java对象的转换了解比较少,今天学微信接口API时刚好接触到,所以就写下来了,初学者望大家见谅哈. 1.既然是Java对象与XML的转换,所以就需要有个Java类来获得对象,本例子主要涉及到BOY类和测试运行的类 2.代码 2.1 开始第一步的简单学习 @XmlRootElement @XmlAccessorType(XmlAccessType.FIELD)//field只是类上的字段,并不是属性 public class Boy { String name = "xu*

XML编程总结(六)——使用JAXB进行java对象和xml格式之间的相互转换

(六)使用JAXB进行java对象和xml格式之间的相互转换 JAXB能够使用Jackson对JAXB注解的支持实现(jackson-module-jaxb-annotations),既方便生成XML,也方便生成JSON,这样一来可以更好的标志可以转换为JSON对象的JAVA类. JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生Java类的技术.该过程中,JAXB也提供了将XML实例文档反向生成Java对象树

使用JAXB实现JAVA对象和XML字符串的互相转换实例

测试类: package com.yanek.test; import java.util.ArrayList; import java.util.List; import com.yanek.test.JaxbUtil.CollectionWrapper; public class Test { /** * @param args */ public static void main(String[] args) { //创建java对象 Hotel hotel=new Hotel(); ho