[英]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.