zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    Xcode8中Swift3.0适配问题
    Swift3.0语法变化
    一起聊聊 Swift 3.0
    Swift 3.0 的 open,public,internal,fileprivate,private 关键字
    leetcode先刷_Binary Tree Level Order Traversal II
    java + memcached安装
    POJ 2533-Longest Ordered Subsequence(DP)
    网络协议——IP
    使用百度地图——入门
    取消延时功能
  • 原文地址:https://www.cnblogs.com/huxuebing/p/5879102.html
Copyright © 2011-2022 走看看