Я пытаюсь убедиться, что некоторые сериализованные значения XML экранированы от HTML. Если они экранированы от HTML перед сериализацией Джексоном, Джексон пытается дважды экранировать текст, что приводит к недопустимым строкам. Чтобы обойти это, я попытался добавить аннотацию @JsonRawValue
к своему полю. Кажется, это работает, однако теперь XML окружен тегами <content> </content>
, потому что аннотация @JacksonXmlText
, кажется, не работает сейчас, когда также присутствует аннотация @JsonRawValue
.
Я попытался изменить порядок аннотаций. Я также попытался настроить Jackson XmlMapper
так, чтобы мне не нужно было использовать необработанные значения, но кажется, что экранирование объекта XML не может быть легко сконфигурировано.
Вот пример сокращенного класса:
public class Message implements Serializable {
@JacksonXmlProperty(localName = "messageID", isAttribute = true)
private String messageID;
@JsonRawValue
@JacksonXmlText
private String content;
}
Я получаю такие результаты:
<message messageID="Example Id"><content>Example "Value"</content></message>
но я бы хотел получить результаты без тегов контента:
<message messageID="Example Id">Example "Value"</message>