<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    java學習

    java學習

     

    jaxb的序列化和反序列化

    1.公司和雇員的實體類

    @XmlRootElement(name="company")

    public class Company {
        //   @XmlElement(name="cname")
        private String cname;
        @XmlElement(name="employee")
        private List<Employee> employees;
           public Company(String cname,List<Employee> employees){
           this.cname=cname;
           this.employees=employees;
           }
           public Company(){}
        @XmlTransient
        public List<Employee> getEmployees() {
            return this.employees;
        }

        public void setEmployees(List<Employee> employees) {
            this.employees = employees;
        }
    //    public void addEmployee(Employee employee){
    //     if(employees==null){
    //            this.employees=new ArrayList<Employee>();
    //     }
    //     this.employees.add(employee);
    //    }

        public String getCname() {
            return this.cname;
        }

        public void setCname(String cname) {
            this.cname = cname;
        }
       
    }

    @XmlType

    public class Employee {
        @XmlElement(name="name")
        private String name;
        @XmlElement(name="id")
        private String id;
        public Employee(String name,String id){
            this.id=id;
            this.name=name;
        }
        public Employee(){}
     @XmlTransient
        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
     @XmlTransient
        public String getId() {
            return id;
        }

        public void setId(String id) {
            this.id = id;
        }
      
    }


    測試類:

    public class Test {
          public static void main(String[] args){
            Test.test01();
        }
        public static void test01() {
            long l=System.currentTimeMillis();
      try {
       JAXBContext ctx = JAXBContext.newInstance(Company.class);
       Marshaller marshaller = ctx.createMarshaller();
                            List<Employee> list=new ArrayList<Employee>();
                            list.add(new Employee("1","1e"));
                            list.add(new Employee("2", "2e"));
       Company c = new Company("cc",list);
                            marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
              //  marshaller.marshal( c,new FileOutputStream("src/"+l+".xml"));
        StringWriter sw = new StringWriter();
       
          marshaller.marshal(c,sw);
          System.out.println(sw.toString());
          test02(sw.toString());
      //     Unmarshaller unmarshaller = ctx.createUnmarshaller();  
         //  File file = new File("src/"+l+".xml");  
         //  Company cc = (Company)unmarshaller.unmarshal(file);  
        // //  System.out.println(cc.getCname());  
        //   System.out.println(cc.getEmployees().get(0).getName());      
        //        System.out.println(file.exists()); 
      } catch (JAXBException e) {
       e.printStackTrace();
      }
     }
         public static void test02(String xml) {
      try {
      // String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><company><employee><name>1</name><id>1e</id></employee><employee><name>2</name><id>2e</id></employee><cname>cc</cname></company>";
       JAXBContext ctx = JAXBContext.newInstance(Company.class);
       Unmarshaller um = ctx.createUnmarshaller();
       Company stu = (Company)um.unmarshal(new StringReader(xml));
       System.out.println(stu.getEmployees().get(0).getName() +","+stu.getCname());
      } catch (JAXBException e) {
       e.printStackTrace();
      }
      
     }
            public static void test03() {
                try{
                 JAXBContext context = JAXBContext.newInstance(Company.class);  
            Unmarshaller unmarshaller = context.createUnmarshaller();  
            File file = new File("src/test.xml");  
            Company c = (Company)unmarshaller.unmarshal(file);  
            System.out.println(c.getCname());  
            System.out.println(c.getEmployees().get(0).getName());
                }catch (Exception e){
               
                }
                
           // System.out.println(people.age);  
            }
    }



    posted on 2013-09-10 15:14 楊軍威 閱讀(474) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    導航

    統計

    常用鏈接

    留言簿

    隨筆檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产高清免费观看| 四虎永久免费观看| 亚洲国产精品无码久久SM | 亚洲码国产精品高潮在线| 一区二区三区在线观看免费| 亚洲日韩在线第一页| 精品97国产免费人成视频| 国产亚洲综合久久系列| 久久aⅴ免费观看| 亚洲国产日韩女人aaaaaa毛片在线| 香蕉97超级碰碰碰免费公| 亚洲欧洲无卡二区视頻| 国产免费一区二区三区VR| 九九九精品视频免费| 亚洲乱码无码永久不卡在线| 久久大香香蕉国产免费网站| 亚洲第一页在线视频| 在线免费观看污网站| 一道本不卡免费视频| 亚洲第一精品在线视频| 国语成本人片免费av无码| 国产精品亚洲专区无码不卡| 在线观看亚洲成人| 光棍天堂免费手机观看在线观看| 久久精品国产亚洲av日韩| 妞干网在线免费视频| 国产成人自产拍免费视频| 亚洲国产精品久久久久久| 亚洲免费综合色在线视频| 免费国产高清毛不卡片基地| 国产成A人亚洲精V品无码| 真人做A免费观看| 国产精品亚洲专区无码WEB| 国产亚洲av片在线观看16女人| 狼群影院在线观看免费观看直播| 亚洲国产欧洲综合997久久| 亚洲一级片内射网站在线观看| 免费观看黄色的网站| 日本免费精品一区二区三区 | 免费在线看污视频| 亚洲中文字幕无码爆乳app|