Я использую Spring WS и XStreamMarshaller для создания XML API.Мне нужно установить текстовые значения в XML, которые содержат специальные символы <
и >
.XStream по умолчанию экранирует такие символы, поэтому я получаю вывод следующим образом:
<description><mytag>some text</mytag>
</description>
Однако мне нужно обернуть такие текстовые значения в CDATA, например, так:
<description><![CDATA[<mytag>some text</mytag>]]>
</description>
Я могуне найти, как настроить XStreamMarshaller, чтобы избежать экранирования специальных символов и использовать вместо него CDATA.Вот как выглядит моя конечная точка Spring WS:
@PayloadRoot(namespace = NAMESPACE_URI, localPart = METHOD)
@ResponsePayload
public DOMSource handleRequest(@RequestPayload DOMSource source) {
MyRequest request = (MyRequest)xStreamMarshaller.unmarshal(source);
MyResponse response = service.process(request);
DOMResult result = new DOMResult();
xStreamMarshaller.marshal(response, result);
return new DOMSource(result.getNode());
}
Как настроить маршаллер xstream, чтобы он не экранировал <
и >
?