Как предотвратить JAXB выход из строки

У меня есть объект, сгенерированный XJC, названным Product. Я хочу установить product.currentPrice (a String) быть £210 где £ обозначение денежной единицы (передал в откуда-либо в системе).

Проблема, JAXB выходит из моего амперсанда, таким образом, это производит £210 вместо этого. Как я заставляю его не сделать этого?

13
задан skaffman 20 July 2010 в 10:33
поделиться

2 ответа

По умолчанию реализация маршаллера JAXB обычно экранирует символы. Чтобы изменить это поведение по умолчанию, вам нужно будет написать класс, реализующий интерфейс com.sun.xml.bind.marshaller.CharacterEscapeHandler .

устанавливает этот обработчик в Marshaller

CharacterEscapeHandler escapeHandler = NoEscapeHandler.theInstance;
marshaller.setProperty("com.sun.xml.bind.characterEscapeHandler", escapeHandler); 

. Вы можете просмотреть образцы, поставляемые с JAXB, образец с экранированием символов

10
ответ дан 1 December 2019 в 22:54
поделиться

Как насчет использования раздела CDATA для обертывания значение, а затем используйте реализацию JAXB, такую ​​как EclipseLink MOXy , которая может обрабатывать CDATA?

Чтобы обрабатывать CDATA с помощью MOXy, см .:

0
ответ дан 1 December 2019 в 22:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: