簡體   English   中英

從JAXB-CXF解組時刪除了空白

[英]Whitespace got removed on unmarshalling from JAXB-CXF

根據我們的要求,我們必須在xml輸出中保留空白,使用xslt創建xml,並將空白返回給JAX B,例如,

<code>test</code>
  <value> </value>

但是,當由JAXB unmarshaller處理此問題時,我們將丟失空白,是否有任何方法可以獲取帶有空白的XML

先感謝您

問候哈里

嘗試使用此:

marshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8")

在編組xml之前。

如果此解決方案無法完成任務,則可以編寫自己的讀取過濾器。

來源: https : //recalll.co/app/?q=java%20-%20JAXB%20unmarshal%20deletes%20newline

    XMLStreamReader xsr = xif.createXMLStreamReader(new StreamSource("src/forum22284324/input.xml"));
    xsr = xif.createFilteredReader(xsr, new StreamFilter() {

        @Override
        public boolean accept(XMLStreamReader reader) {
            if(reader.getEventType() == XMLStreamReader.CHARACTERS) {
                return reader.getText().trim().length() > 0;
            } 
            return true;
        }

    });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM