根据我们的要求,我们必须在xml输出中保留空格,使用xslt创建xml,并将空格返回到JAX B,例如,
<code>test</code>
<value> </value>
但是当这个由JAXB unmarshaller处理时,我们正在失去空白区域,有没有办法让我们可以获得带有空格的XML
提前谢谢
此致 哈
答案 0 :(得分:0)
尝试使用:
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;
}
});