W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
首先定義需要轉(zhuǎn)換的 Java bean Student.java
@XmlRootElement
public class Student {
private String id;
private String name;
private Integer age;
// setters, getters
}
為了節(jié)省篇幅,我省略了對象的setters, getters方法,當然,為了便于直觀地看到結(jié)果,還應(yīng)該覆蓋默認的 toString() 方法。
這個對象和我們常見的Java對象唯一的不同,就是在普通的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 實例
Marshaller marshaller = context.createMarshaller();
// 設(shè)置轉(zhuǎn)換參數(shù) -> 這里舉例是告訴序列化器是否格式化輸出
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
// 構(gòu)建輸出環(huán)境 -> 這里使用標準輸出,輸出到控制臺Console
PrintStream out = System.out;
// 將所需對象序列化 -> 該方法沒有返回值
marshaller.marshal(stu, out);
}
這里演示了最基本的Java 對象轉(zhuǎn)XML過程。為了方便閱讀,每一步都有簡明注釋。
使用 JAXB 不需要引入第三方依賴jar包。
public static void main(String[] args) throws Exception {
Student stu = new Student("001","Tom",22);
javaToxml(stu);
}
使用main方法簡單測試一下,在控制臺可以看到如下輸出。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<student>
<age>22</age>
<id>001</id>
<name>Tom</name>
</student>
有幾點需要注意:
JAXBElement
類型,或者使用 @XmlRootElement
注解Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: