Я пытаюсь сериализовать объект, который содержит строку XML в качестве параметра.Я хотел бы напечатать свой XML в разных строках, чтобы сделать его читабельным.
У меня есть что-то вроде этого, которое содержит всю информацию, но не отформатировано:
lwtrade: "<?xml version=\"1.0\" encoding=\"UTF-8\<n k=\"Country\" t=\"/LW_Country\">Finland</n>\r\n <n k=\"Currency\"\
\ t=\"/LW_Currency\">EUR</n>\r\n <n k=\"Quantity\" t=\"d\">45445.0</n>\r\n </n>\r\n"
, и я пытаюсьчтобы получить что-то вроде этого:
lwtrade: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<n k=\"Country\" t=\"/LW_Country\">Finland</n>
<n k=\"Currency\"\\ t=\"/LW_Currency\">EUR</n>
<n k=\"Quantity\" t=\"d\">45445.0</n>
</n>"
Я пытался использовать PrettyPrinter для замены \ r \ n эффективной кареткой, но я не уверен, как это работает.Я видел несколько примеров для Array, но ничего для String или формата XML.
Вот мой класс сериализации, расширенный от JsonSerializer:
public void serialize(LWTrade value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
Writer stringWriter = new StringWriter();
XMLSerialiser xmlSerialiser = new XMLSerialiser();
try {
xmlSerialiser.serialise(value, stringWriter);
} catch (Exception e) {
logger.error("Exception caught", e);
}
gen.writeObject(stringWriter.toString());
}