国产chinesehdxxxx野外,国产av无码专区亚洲av琪琪,播放男人添女人下边视频,成人国产精品一区二区免费看,chinese丰满人妻videos

Java 對(duì)象轉(zhuǎn) XML

2018-12-16 21:35 更新

首先定義需要轉(zhuǎn)換的 Java bean Student.java

@XmlRootElement
public class Student {
    private String id;
    private String name;
    private Integer age;
 // setters, getters
}

為了節(jié)省篇幅,我省略了對(duì)象的setters, getters方法,當(dāng)然,為了便于直觀地看到結(jié)果,還應(yīng)該覆蓋默認(rèn)的 toString() 方法。

這個(gè)對(duì)象和我們常見(jiàn)的Java對(duì)象唯一的不同,就是在普通的Java類上添加了注解@XmlRootElement。

    public static void javaToxml(Student stu) throws Exception {
        // 獲取JAXB的上下文環(huán)境,需要傳入具體的 Java bean -> 這里使用Student
        JAXBContext context = JAXBContext.newInstance(Student.class);
        // 創(chuàng)建 Marshaller 實(shí)例
        Marshaller marshaller = context.createMarshaller();
        // 設(shè)置轉(zhuǎn)換參數(shù) -> 這里舉例是告訴序列化器是否格式化輸出
        marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
        // 構(gòu)建輸出環(huán)境 -> 這里使用標(biāo)準(zhǔn)輸出,輸出到控制臺(tái)Console
        PrintStream out = System.out;
        // 將所需對(duì)象序列化 -> 該方法沒(méi)有返回值
        marshaller.marshal(stu, out);
    }

這里演示了最基本的Java 對(duì)象轉(zhuǎn)XML過(guò)程。為了方便閱讀,每一步都有簡(jiǎn)明注釋。

使用 JAXB 不需要引入第三方依賴jar包。

public static void main(String[] args) throws Exception {
        Student stu = new Student("001","Tom",22);
        javaToxml(stu);
    }

使用main方法簡(jiǎn)單測(cè)試一下,在控制臺(tái)可以看到如下輸出。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<student>
    <age>22</age>
    <id>001</id>
    <name>Tom</name>
</student>

有幾點(diǎn)需要注意:

  • JAXB 轉(zhuǎn)換對(duì)象必須屬于JAXBElement類型,或者使用 @XmlRootElement注解
  • JAXB 轉(zhuǎn)換對(duì)象必須擁有無(wú)參數(shù)構(gòu)造器(默認(rèn)存在,如果被覆蓋,需要顯示指定)
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)