我有一个对象,由 XJC 生成,名为 Product
。我想将 product.currentPrice (a String)
设置为 £210
其中 £
是货币符号(从系统的其他地方传入)。
问题是,JAXB 正在转义我的 & 符号,因此它生成了 £210
。我如何让它不这样做?
最佳答案
默认情况下,JAXB 的编码器实现通常对字符进行转义。要更改此默认行为,您必须编写一个实现 com.sun.xml.bind.marshaller.CharacterEscapeHandler
接口(interface)的类。
在 Marshaller 中设置该处理程序
CharacterEscapeHandler escapeHandler = NoEscapeHandler.theInstance;
marshaller.setProperty("com.sun.xml.bind.characterEscapeHandler", escapeHandler);
您可以查看 JAXB 提供的示例,字符转义示例
关于java - 如何防止 JAXB 转义字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3289036/