我正在使用JAXB Marshaller,并且想转义字符。例如,双引号(“)显示为。我该如何处理?
我通过关注其他类似的帖子来设置属性,但没有解决问题。有人可以在这里建议吗?任何帮助表示赞赏。
码:
JAXBContext jc = JAXBContext.newInstance(object.getClass().getPackage().getName());
Marshaller marshaller = jc.createMarshaller();
marshaller.setProperty("jaxb.encoding", "Unicode");
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
marshaller.setProperty(CharacterEscapeHandler.class.getName(), new CharacterEscapeHandler() {
@Override
public void escape(char[] ch, int start, int length, boolean isAttVal, Writer out) throws IOException {
out.write( ch, start, length );
}
});
marshaller.marshal(object, stringWriter);
最佳答案
编组人员应该能够使用编码
marshaller.setProperty("jaxb.encoding", "UTF-8");
关于java - 如何使用JAXB Marshaller处理转义字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48696930/