java - 如何防止 JAXB 转义字符串

标签 java jaxb

我有一个对象,由 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/

相关文章:

java - CXF 或 Spring WS 的目的是什么

java - JAXB/Jersey - JSONObject 作为 XmlElement

java - 从 wsdl 生成 java 类

java - JAXB:在对象图中检测到循环

java - 使用带有 namespace 和模式的 Jaxb 进行 XML 解码

java - Spring MVC : No qualifying bean of type [org. hibernate.SessionFactory] ​​发现依赖项

java - 在 ActionListener 中调用对象不起作用,但在对象类 main 中起作用

java - 通过从存储库函数 jpa ,java 中排除多列(AND)中的特定值来进行过滤

java - 如何解码未包装的集合以使用 jaxb 进行映射

java - 将一个数字的所有数字相加并在 Java 中分别显示数字