当前位置: 首页 > news >正文

JAXB

jaxb:这是一种能将xml与java对象进行相互转化的技术,在jdk1.6之前这门技术属于j2ee部分,在jdk1.6的时候属于javase的部分了。

    使用方法之编组:

        1.创建一个javabean,并且在类的前面加上@XmlRootElement

        2.实例化一个java对象

         3.获取JAXBcontext对象

        4.创建编组 Marshaller

      代码示例如下:

package jaxb;

import java.io.File;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlRootElement;

import org.junit.Test;

import lombok.Data;

@XmlRootElement
@Data//使用lombok技术
public class Jaxb1 {
    private int id;
    private String name;
    private String number;
    public Jaxb1(){
        
    }
    
    @Test 
    public void print1() throws JAXBException{
        Jaxb1 j1 = new Jaxb1();
        j1.setId(12);
        j1.setName("huxuebing");
        j1.setNumber("201306002242");
        JAXBContext jaxbcontext = JAXBContext.newInstance(Jaxb1.class);
        Marshaller marshaller =jaxbcontext.createMarshaller();
        marshaller.marshal(j1, System.out);
    }
    
}



<?xml version="1.0" encoding="UTF-8" standalone="yes"?><jaxb1><id>12</id><name>huxuebing</name><number>201306002242</number></jaxb1>

 

  

  使用方法之解组

        前提:创建对应的javabean

        1.获取JAXBcontext对象

        2.创建解组组 Unmarshaller

        3.创建File文件对象

        4.强转为相应的类对象

        5.获取相应对象的值

package jaxb;

import java.io.File;

import javax.xml.bind.JAXB;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;

import org.junit.Test;



public class Web {

    @Test
    public void print3() throws JAXBException{
        
        
    /*
        File xml = new File( "D:\\person.xml" );

        Person person = (Person) JAXB.unmarshal ( xml,Person.class );
        
        System. out .println( person.toString() );*/
        // 1. 创建JAXBContext
                JAXBContext context = JAXBContext.newInstance(Customer.class);
                // 2. 创建解组
                Unmarshaller unmarshaller = context.createUnmarshaller();
                File f = new File("web.xml");
                Customer c = (Customer)unmarshaller.unmarshal(f);
                
                System.out.println(c);
                
    }

}
jaxb.Customer@73a28541

 

转载于:https://www.cnblogs.com/huxuebing/p/5879102.html

相关文章:

  • 使用jdk1.5装箱及拆箱功能时注意的问题
  • 新手简单使用MQ查看消息图解
  • JAVA实用技巧:定时执行任务的三种方法
  • Java中的克隆(Clone)机制
  • Java读取Properties文件的六种方法
  • java序列化机制与原理
  • Eclipse-debug时常用的快捷键
  • java序列化原则
  • 网站统计中的数据收集原理及实现
  • Java枚举类型enum的原理
  • CentOS(七)--Linux文件类型及目录配置
  • Java枚举类型enum的使用原理
  • DateUtil
  • 深入研究java.lang.Class类
  • 候捷谈Java反射机制
  • bootstrap创建登录注册页面
  • go语言学习初探(一)
  • JavaScript HTML DOM
  • niucms就是以城市为分割单位,在上面 小区/乡村/同城论坛+58+团购
  • Otto开发初探——微服务依赖管理新利器
  • Python 基础起步 (十) 什么叫函数?
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • Transformer-XL: Unleashing the Potential of Attention Models
  • 包装类对象
  • 程序员该如何有效的找工作?
  • 聊聊sentinel的DegradeSlot
  • 巧用 TypeScript (一)
  • 一起参Ember.js讨论、问答社区。
  • 一些css基础学习笔记
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • # Panda3d 碰撞检测系统介绍
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • $(document).ready(function(){}), $().ready(function(){})和$(function(){})三者区别
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (02)Hive SQL编译成MapReduce任务的过程
  • (1)bark-ml
  • (AngularJS)Angular 控制器之间通信初探
  • (Java)【深基9.例1】选举学生会
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (附源码)计算机毕业设计高校学生选课系统
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (转)fock函数详解
  • (转)linux下的时间函数使用
  • (转)程序员疫苗:代码注入
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • .bat批处理(一):@echo off
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .NET Core 成都线下面基会拉开序幕
  • .net framework 4.0中如何 输出 form 的name属性。
  • .net 开发怎么实现前后端分离_前后端分离:分离式开发和一体式发布
  • .net 托管代码与非托管代码
  • .NET6 开发一个检查某些状态持续多长时间的类