格式化輸出

2018-12-23 22:29 更新

Marshaller.JAXB_FORMATTED_OUTPUT

默認(rèn)的序列化操作,結(jié)果是正確的,但是顯示成一行不便于閱讀,可以通過(guò)添加屬性JAXB_FORMATTED_OUTPUT來(lái)修正:

在此之前,為了能重用 JAXBContext,可以只初始化一個(gè)實(shí)例,對(duì)代碼稍微重構(gòu)一下:

    private static JAXBContext context;
    private static One one;

    
    @BeforeClass
    public static void init() throws JAXBException {
        // JAXBContext 是線程安全的 
        context = JAXBContext.newInstance(One.class);
        // 初始化全局的 Java bean
        one = new One();
        one.setName("Test one");
    }

這樣可以更專(zhuān)注于核心邏輯,下面的代碼使用JAXB_FORMATTED_OUTPUT來(lái)格式化輸出:

    @Test
    public void test1() throws JAXBException {
        Marshaller marshaller = context.createMarshaller();
        marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
        marshaller.marshal(one, System.out);
    }

得到的結(jié)果:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<one>
    <id>11</id>
    <name>Test one</name>
</one>

看起來(lái)舒服很多。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)